ReSharper C++ とVisual Assist の比較

このドキュメントでは、ReSharper C++ と Whole Tomatoの Visual Assist との違いについてご説明いたします。

どちらの製品も活発に開発されており、製品の機能が定期的に変更されるため、この比較は、比較表のヘッダーに示されている特定のリリースに対して有効であると見なしております。

この表で不正確な項目を見つけられた場合は、下のコメント欄からお知らせいただけますと幸いです。それに応じて、できるだけ早く表を更新いたします。

Visual Studio 2019 + Visual Assist Build 2024.8 (2537)

Visual Studio 2022 + ReSharper C++ 2024.3

サポート対象の Visual Studio バージョン
Visual Studio 2022
Visual Studio 2022
Visual Studio 2019
Visual Studio 2019
Visual Studio 2017
Visual Studio 2017
Visual Studio 2015
Visual Studio 2015
Visual Studio 2013
Visual Studio 2013
Visual Studio 2012
Visual Studio 2012
Visual Studio 2010
Visual Studio 2010
Visual Studio 2008
Visual Studio 2005
サポートされているC/C++仕様
C/C++
C/C++
C++/CLI
CUDA ソースファイル
コードの問題の検出
未解決シンボルをハイライト
コメントによるコードインスペクションの抑止
コメントによるコードインスペクションの抑止
再帰呼び出しを示すガターマーク
問題のあるコードのクイックフィックス
コーディング支援
対となるアイテムのハイライト表示printfboost::format内のマクロ引数とフォーマット引数を含む)
パラメーター名、型名、名前空間、型変換、およびプリプロセッサディレクティブのインレイヒント</0>、push-to-hint モード
構文のハイライト表示(20種類の識別子)
Enter キーで、複数行の /**/ および /// コメントのドキュメントスタブを自動拡張および作成
/// の入力による Doxygen コメントの生成
一致する語をハイライト(コードとコメント)
関数の終了部分の自動ハイライト表示
コードスタイル支援
貼り付け後にフォーマットVisual Studio のフォーマット規則を継承)
どのスコープ内でもフォーマット規則を適用する(ReSharper C++ の豊富なフォーマット規則を使用)
スコープ内で code cleanup を使用、コードスタイルを適用し冗長コードを削除
生成コード内の const 修飾子と volatile 修飾子の設定可能なスタイル
生成コード内の #include ディレクティブの設定可能なスタイル
生成コード内のデフォルトのポインタ初期化子の設定可能なスタイル0|nullptr|NULL
リファクタリングとコード変換
フィールドのカプセル化(getter と setter の生成アクション)
括弧の追加と除去
論理式を否定
関数定義の移動
クラスの移動
インスタンスとポインターの相互変換
インスタンス宣言の単純化
ソース内のメソッドの並べ替え
ラムダをメソッドに昇格
関数に= default 指定子、= delete 指定子、pure 指定子、virtual 指定子を追加
cv 修飾子の整列
?:if への変換(逆も同様)
#include ディレクティブを山括弧フォームから引用符フォームに変換する(逆も同様)
呼び出しとパイプ間の変換
句をパラメーター制約に変換
typedef宣言をエイリアス宣言に変換(逆も同様)
ネストされた名前空間定義に変換
戻り値の型を後続の戻り値の型に変換(逆も同様)
派生型の作成:クラス、インターフェース、 構造体、インターフェースのクラス、インターフェースの構造体、ref クラス、ref 構造体
関係演算子をフリップ
演算子の引数をフリップ
コンストラクタパラメータからフィールドを初期化
if ステートメントの反転、?: 条件の反転
「auto」を明示的な型宣言で置き換える
'decltype' を基になる型に置換
「decltype(auto)」を明示的な型宣言で置き換える
宣言の分割または複数宣言の結合
マクロ呼び出しの置き換え
テンプレートの型エイリアスの置き換え
テンプレート引数を明示的に指定
typedef の置換(すべてのネストした typedef の置換も可能)
UNREFERENCED_PARAMETER[[maybe_unused]] に置換
文字列と C++11 raw 文字列間の変換
テンプレートパラメーター制約を requires 句に移動
コード生成
派生型の作成
コードスニペット/テンプレート
Create File(ヘッダーと cpp のため 2 回呼び出す必要あり)
ナビゲーション & 検索
宣言に移動(Gotoを使用)
実装に移動(Gotoを使用)
デバッグ
有効なすべてのブレークポイントを一時的に無効にする
すべてのブレークポイントを一時的に現在のスレッドにバインドする
Unreal Engine
Engineのソースをナビゲーションから除外
エンジンのソースをインデックス作成から除外
UE4リモートプロシージャコールのサポート
ユニットテスト
Google TestCatch 2.5Boost.Testdoctest フレームワークのユニットテスト支援
設定管理
その他
ローカライズ済みの GUI(中国語、日本語、韓国語)