コード階層
コード分析に加えて、ReSharper のコード分析では、階層を構築してメンバーを調査でき、チェーンを呼び出し、チェーンに値を渡します。
呼び出し階層
呼び出し階層は、関数の呼び出し元(スーパータイプ)または呼び出し先(サブタイプ)を表示します。
受信コールを調べるには、任意の機能にカーソルを置きます。次に、メインメニューから これを調べるリストから受信コールを選択します。
を選択するか、Control+Shift+Alt+A を押して、発信呼び出しを調べるには、任意の関数にカーソルを置きます。次に、メインメニューから これを調べるリストから発信コールを選択します。
を選択するか、Control+Shift+Alt+A を押して、
呼び出し追跡結果ウィンドウでは、階層エントリをダブルクリックしてエディター内の対応する呼び出しに移動したり、任意のノードを展開して受信 / 発信呼び出しを確認したりできます。
型階層
ReSharper を使用すると、ソリューションおよび参照ライブラリの型の継承階層を調べることができます。選択した型の基本型と継承型の両方を表示し、マウスクリックでいずれかに移動できます。詳細については、型階層を調べるを参照してください。
包含の階層
ReSharper では、include ディレクティブまたはファイルに対して、include の階層を視覚的に分析することができます。
インクルードの階層を構築するには、ファイル内の #include
ディレクティブにキャレットを置くか、ソリューションエクスプローラーでファイルを選択し、Control+Alt+H を押すか、メニューから を選択します。
階層内のファイルをダブルクリックして、エディターで開くことができます。
デフォルトでは、各ファイルの子ノードは、このファイルに含まれるファイルを表します。これは、ツールバーのインクルード モードに対応します。Includers モードに切り替えることができます。このモードでは、ファイルの子ノードは、このファイルを含む現在のスコープ内のファイルを表します。
詳細は、インクルードの分析を参照してください。
関連ページ:
C++ でのコード分析
ReSharper のコード解析の主な機能は、C++ でもサポートされています。これらの機能の詳細については、コード解析の該当するトピックを参照してください。このセクションのサブジェクトでは、フィーチャマトリックスを見つけて、C++ で正確にサポートされているものを確認することもできます。このトピックでは、C++ でコード解析機能を使用する例をいくつか見てみましょう。デフォルトでは、コードインスペクション、クイックフィックス、コンテキストアクションはすべてのソリューションファイルで使用できます。...
呼び出し追跡
コールトラッキングを使用すると、コード内のチェーンコールを表示および移動できます。ReSharper コールトラッキングは、イベント、インターフェース、クロージャのサポートにより、Visual Studio ネイティブ呼び出し階層よりも大幅に改善されています。階層ビューでは、ReSharper はアイコンを使用してさまざまな種類のシンボルを区別します。必要に応じて、ReSharper オプションのページのソースコードシンボルアイコンテーマラジオボタンを使用してアイコンセットを切り替えることができ...
これを調べる
このコマンドは ReSharper のコード探索とインスペクション機能への近道です: 呼び出し追跡、価値の追跡、型階層を調べる、コードの問題を見つける、型依存関係ダイアグラム、このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウ、その他のツールウィンドウから呼び出すことができます。コンテキストに応じて、このショートカットは、そのコンテキストで利用可能なすべてのコード探索機能にアクセスできます。コンテキストで利用可能なコード探索機能を表示するキャレットをエディターのシンボルに配置す...
型階層を調べる
ReSharper を使用すると、ソリューションおよび参照ライブラリから型の継承階層を調査できます。選択したタイプの基本タイプと継承の両方を確認し、マウスクリックでそれらのいずれかに移動できます。階層内の任意のノードについて、プレビューペインにすべてのメンバーまたは多態的メンバーのみを表示できます。階層を調査するエディターで目的のタイプを見つけるか、ソリューションエクスプローラーでそれを展開します。を押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して...
階層ウィンドウ
階層ウィンドウには、コードのいくつかの型階層構造が表示されます。型階層、プロジェクトの階層、型依存関係ダイアグラム、アセンブリ依存ダイアグラム、CSS 階層、参照の階層、型階層:このビューには、メンバーを含む型階層と、特定のタイプのすべてのサブタイプおよびスーパータイプのリストが表示されます。階層を分析し、ダブルクリックして任意の型の宣言に移動できます。ツールバーコントロールリフレッシュコードの変更を外部に反映するためにウィンドウの内容を更新します。これをベースに選択されたタイプが階層ツリーの...
インクルードの分析
インクルードの巨大な階層によって引き起こされる長いビルド時間は、実際の大規模な C++ プロジェクトにおける最大の問題の 1 つです。ReSharper には、設計時のインクルードの最適化に役立ついくつかの機能があります。例: 未使用のディレクティブをマークするか、必要な宣言にヘッダーを含める代わりに、未解決の名前の前方宣言を自動的に作成します。階層的な問題をより体系的に解決するために、ReSharper は不要なヘッダーの依存関係を見つけて排除するコードインスペクションツールアナライザーを含むを...