ReSharper C++ 2021.2とVisual Studio 2019の比較

このドキュメントには ReSharper C++ 2021.2 が提供しているものの、素の Visual Studio 2019 には無い、または完全には実装されていない一部の機能を掲載しています。

Microsoft Visual Studio 2019 16.10
ReSharper C++ 2021.2

サポート対象のC/C++仕様

C/C++ C/C++
C++/CLI C++/CLI
C++/CX サポート対象外
HLSL HLSL

コード解析と修正

オンザフライのデザインタイムコード解析(コンパイラのエラーと警告) オンザフライのデザインタイムコード解析コンパイラーのエラーと警告、および 230+ 種の独自コードインスペクション)
コードの問題を解決するクイックフィックス 290種類以上のクイックフィックスでコードの問題を解決
統合済みの Clang-Tidy 診断とチェック 統合済みの Clang-Tidy 診断とチェック
統合済みの UnrealHeaderTool 診断とチェック
スペルチェック
インクルードアナライザ
ソリューション全体に至るまで、あらゆるスコープですべてのエラーとコード品質の問題を報告
調整可能なコードインスペクション: Alt+Enter メニューで 5 つの重要度レベルを構成可能
ソリューションまたはチーム全体でコード解析の設定を共有可能

リファクタリングとコード変換

名前の変更 名前の変更
署名の変更 署名の変更
関数の抽出 メソッドの抽出
pure virtual の実装 オーバーライドしているメンバーの生成
宣言/定義の作成 宣言による定義/実装の生成
関数定義の移動 実装のクラススコープ外への移動
raw 文字列リテラルへの変換 raw 文字列リテラルへの変換と逆変換
スコープ付き列挙型への変換
フィールドの挿入
名前空間エイリアスの導入
typedef の導入
using enum の導入
変数の導入
Inline Function
変数のインライン化
Inline typedef
65+ 種のコンテキストアクション(自動ローカルコード変換)

コーディング支援

コード補完 スマート提案とキャメルケース照合付きのコード補完
シンタックスハイライト シンタックスハイライト(25+ 種類の識別子に色を設定可能)
コード要素のツールチップ 構文がハイライトされ、ドキュメントのコメントが整形されたコード要素のツールチップ
選択範囲の拡張または縮小 選択範囲の拡張または縮小
コメントの選択(コメントは自動的に選択されます) 行コメントおよびブロックコメントに対応したコメントの選択
クイック情報とパラメーター情報 クイックドキュメンテーションパラメーター情報
パラメーター名、型名、名前空間、型変換、およびプリプロセッサディレクティブのインレイヒントpush-to-hint モード
コード要素の移動
欠落している #include ディレクティブの自動追加
インポートの完了後置補完
ステートメントの補完
宣言を含む部分を選択

ナビゲーションと検索

Navigate To(…に移動) Search Everywhere(どこでも検索)
宣言箇所へジャンプ 未解決の識別子とコメントでも機能し、使用箇所と一致するプリプロセッサディレクティブ間の移動に役立つ「宣言箇所へジャンプ」
定義をここに表示 宣言、使用状況、基底シンボル、実装をプレビュー
コード内ブックマーク コード内ブックマーク
クイック起動 アクションと設定の検索
参照の検索 使用箇所の検索
インクルードファイルのグラフ生成 インクルードの階層表示
階層の呼び出し サポート対象外
シンボルへジャンプ シンボルへジャンプ
型に移動 型に移動
ファイルへジャンプ ファイルへジャンプ
ファイルメンバーに移動 ファイルメンバーに移動
ファジー検索によるテキストに移動
基底シンボルに移動
派生シンボルに移動
関連ファイルに移動
近隣ファイルに移動
最近の場所と変更に移動
プライマリテンプレート/特殊化に移動
ヘッダー/ソースの切り替え
ファイルでの使用箇所のハイライト表示
エディタ内で継承階層を上下に移動
コンテキストに沿ったブレークポイントへの移動
型の階層表示
ファイル構造
ToDo項目間の移動
ソリューションエクスプローラー内で現在のファイルを検索

コード生成

コードスニペット(テンプレート) ライブ取り囲み、および後置テンプレートなどのコードスニペット(テンプレート)
テンプレートからファイルを生成 テンプレートからファイルを生成
コード補完によるコード生成 コード補完によるコード生成
コードスニペット(テンプレート)用の視覚的なエディタ
事前宣言の追加またはインポート補完による #include ディレクティブの挿入
使用状況からコードの生成
コンストラクタの生成
定義の生成
欠落しているケースステートメントの生成
ドキュメントコメントの生成
欠落しているまたはオーバーライドしているメンバーの生成
copy演算子とmove演算子の生成
ゲッターとセッターの生成
等値演算子の生成
関係演算子の生成
ストリーム処理を生成(Boost.Serialization関数を含む)
ハッシュ関数の生成
スワップ関数の生成
Google Mockメソッドの生成
列挙体を文字列に変換する関数を生成(設定可能)
欠落しているメンバーの生成

コードスタイルとクリーンアップ

コードの再フォーマット 任意のスコープにフォーマット規則を適用(ReSharper C++ 独自のフォーマット規則セット
EditorConfigのサポート EditorConfigのサポート
Clang-Formatのサポート
既存のコードからのフォーマットルール規則の学習
選択したコードのフォーマット規則を構成するためのビジュアルエディター
現在のファイルに影響を与える設定の値やファイルを確認できる File Formatting Info ウィンドウ
定義済みスキームで設定可能な命名スタイル(STL、Google、LLVM、CamelCase、Microsoft)
#include ディレクティブの設定可能なソートルール
初期化、宣言、オーバーライド関数、auto 使用状況、cv 修飾子の位置、波括弧の設定可能な構文スタイル

ユニットテスト

ユニットテストエクスプローラー ユニットテストエクスプローラー
Microsoft Unit Testing Framework for C++のサポート サポート対象外
Google Test サポート Google Test サポート
Boost.Test サポート Boost.Test サポート
CTest のサポート サポート対象外
Catch サポート
doctest サポート
エディタからテストを実行
複数のユニットテストセッション

デバッグ

エディタ内にデータヒントを表示 エディター内での検索可能なデータヒントと設定可能なオブジェクト表示
「ブレークポイント」ツールウィンドウ プレビュー、コンテキスト検索、グループ化、およびエクスポート機能を備えたブレークポイントツールウィンドウ
インラインウオッチ
ステップフィルタ

Unreal Engineのサポート

Unreal Engine命名規則のサポート
UnrealHeaderTool インスペクションの統合
HLSL シェーダーファイルの処理
Unreal Engineリモートプロシージャコールのサポート
Unreal Engineリフレクション指定子のコード補完
プラグインとモジュール参考に基づくコード補完機能を提供する Unreal Engine プロジェクトモデルサポート
.Build.cs、.Target.cs、.uproject、または .uplugin への変更を反映するリアルタイム更新

設定管理

Microsoft ID経由で設定を同期 VCS またはファイルホスティングサービスを通じた、チーム間での設定とカスタムテンプレートの同期
さまざまなソリューションのさまざまな設定を競合なしに保存する設定レイヤーシステム
ダウンロード
無料30日間体験版