XAML のコードインスペクション
XAML では、ReSharper 2025.3 は 2 種類のコードインスペクションを提供します。壊れた構文、未解決のシンボル、コンパイラーエラーなどのエラーを検出する 4 つのインスペクション (いずれも構成または無効にすることはできませんインスペクション)、および 76 の独自コードインスペクション (いずれも無効にしたり、重大度レベルを変更したりできます)。
これらのコードインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出するのに役立ち、さらに特定のスコープ内でコードの問題を見つけることもできます。
構成可能な XAML インスペクションを以下にカテゴリ別に分類して示します。
コード通知 (26 インスペクション)
このカテゴリは、コードインスペクションをマイナーな重大度でグループ化します。
インスペクション | |
|---|---|
{DynamicResource} は依存関係プロパティでのみ使用できます
| |
コンストラクターが解決されていません
| |
現在のマシンカルチャに応じて解析される 10 進数
| |
依存関係プロパティ記述子フィールドがありません
| |
要素名の参照が解決されていません
| |
グリッドの列 / 行の定義を属性に変換できます
| |
グリッドの長さの定義を空にすることはできません
| |
無視されたパス
| |
マップパス
| |
無効なタイプのメンバー
| |
メソッドの引数は、生成されたコードでイベントの引数に置き換えられます
| |
同じ引数カウントを持つ複数のオーバーロードが見つかりました
| |
無効な型のオブジェクト / マークアップ拡張
| |
親は現在のコンポーネントツリーの外にあります
| |
リソースへのパスでは大文字と小文字が区別されます
| |
ルーティングされたイベント記述子フィールドがありません
| |
静的リソースが解決されません
| |
スタイルクラスが見つかりません
| |
DataContext がわかっている場合、未解決のバインディングパス
| |
DataContext が不明な場合に未解決のバインディングパス
| |
TwoWay または OneWayToSource バインディングモードでのストリームバインディング演算子の使用
| |
x:DataType が CompiledBinding に指定されていません
| |
x:FieldModifier 属性には x:Name 属性が必要です
| |
無効なタイプの XAML 動的リソース
| |
無効な型の XAML リソース
| |
無効なターゲットタイプの XAML スタイル
|
一般的なプラクティスとコードの改善 (3 インスペクション)
このカテゴリは、主にコードの可読性に影響する中程度の重大度の問題を探し出すインスペクションをグループ化します。
インスペクション | |
|---|---|
メンバーはプライベートにすることができます (非公開アクセシビリティ)
| |
メンバーを保護することができます (非公開アクセシビリティ)
| |
メンバーまたは型を内部にすることができます (友達)
|
コンパイラーの警告 (2 インスペクション)
このカテゴリのインスペクションは、コンパイルする前にコンパイラーの警告を検出します。
インスペクション | |
|---|---|
廃止型または型メンバーの使用
| |
廃止型または型メンバーの使用 (エラー)
|
制約違反 (2 インスペクション)
このカテゴリには、コードインスペクションが含まれ、ほとんどの場合、警告の重大度レベルがあり、ReSharper のコードアノテーションなどのシンボル属性に関連する違反やその他の同様の問題が検出されます。
インスペクション | |
|---|---|
| |
null 可能でないエンティティへの「null」割り当ての可能性
|
文法の問題 (4 インスペクション)
このカテゴリのインスペクションは、文字列リテラルとドキュメントコメントの文法上の問題を報告します。
インスペクション | |
|---|---|
| |
| |
| |
|
潜在的なコード品質問題 (18 インスペクション)
このカテゴリには、主にエラーまたは警告レベルで重大な問題(コードのにおい)を検出するインスペクションが含まれます。このカテゴリには、ローカライゼーションの支援を確実にするインスペクションも含まれます。
インスペクション | |
|---|---|
DeviceFamily 固有のビュータイプ名がジェネリクスタイプ名と一致しません
| |
重複するデバイスファミリのビュー
| |
重複スタイルのプロパティ / イベント setter
| |
グリッド要素の列 / 行インデックスがグリッド定義範囲外
| |
最初の子ではないグリッド列 / 行 setter がありません
| |
| |
アクセスされていないフィールド (private アクセス)
| |
パスエラー
| |
フォールバック値のないバインディングのパスで可能な「null」値
| |
RelativeSourceMode が明示的に設定されていません
| |
x:Key 属性のため、クラス名でリソースにアクセスできません
| |
スタイルターゲットタイプは基本タイプに変換できません
| |
x:DataType の型と BindingContext の不一致
| |
予期しない要素エラー
| |
予期しないテキストトークンエラー
| |
不明な DeviceFamily
| |
x: リソースと辞書要素にのみキーが許可されます
| |
XAML 言語レベルのエラー
|
コードの冗長性 (13 インスペクション)
このカテゴリのコードインスペクションは、コードの可読性とスタイルに影響を与える冗長性とデッドコードを探し、安全に削除できます。一部のコードの冗長性は自動的に修正できず、それらのクイックフィックスはインタラクティブモードで実行され、ユーザー入力が必要です。ただし、冗長性の大部分は、スコープ内の修正またはコードのクリーンアップを使用して、ユーザーの操作なしで修正できます。
インスペクション | |
|---|---|
バインディングモードはデフォルトと同じです
| |
プロパティ値はスタイル提供と等しい
| |
冗長な空のコレクションプロパティ setter
| |
冗長な「フリーズ」属性
| |
冗長修飾子属性
| |
冗長な名前属性
| |
冗長な名前空間エイリアス
| |
冗長プロパティタイプの修飾子
| |
冗長リソース
| |
冗長接続プロパティ setter を削除
| |
単一のグリッド行 / 列定義が冗長です
| |
単一セルグリッド列 / 行スパンは冗長です
| |
UpdateSourceTrigger = デフォルトは冗長です
|
シンボル宣言の冗長性 (4 インスペクション)
このカテゴリにはコードインスペクションが含まれ、ほとんどが重大度レベルが警告であり、空の未使用のシンボル宣言を検出します。
インスペクション | |
|---|---|
| |
| |
| |
|
スペルの問題 (4 インスペクション)
これらのインスペクションは、さまざまな状況でタイプミスを検出します。
インスペクション | |
|---|---|
| |
| |
| |
|
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コードインスペクション
ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。コードインスペクションは、以下のグループに分...
設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...
特定の範囲でコードの問題を見つける
設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharper を使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を共有することもできます。開始コードインスペクション:ソリューション、プロジェクト、カスタムスコープのコードをインスペクションするソリューションワイドのインスペクションの結果(たとえば、未使用のパブ...
コンパイラーの警告を設定する
ReSharper には、最も顕著なコンパイラー警告を報告するコードインスペクションと、それに対応するクイックフィックスが含まれています。ReSharper コードインスペクションの結果がコンパイラー出力や他のツール、アナライザーと一致するようにするため、コンパイラー警告の重大度レベルは、ReSharper 独自のインスペクションとは異なり、エディターや ReSharper オプションから設定することはできません。代わりに、コンパイラーの警告を抑制する他の方法があり、以下にまとめます。.edito...
ローカライゼーションインスペクションとクイックフィックス
ReSharper は、リソースファイル内のローカライズ可能な文字列、リソースの問題などを検出することにより、アプリケーションをローカライズするのに役立つ多数のコードインスペクションを提供します。これらのインスペクションは、オープンドキュメントの設計時にローカライゼーションの問題を検出し、ソリューション全体まで特定の範囲でローカライゼーションの問題を見つけることができます。設計時には、検出された問題があなたの注意を引くためにハイライトされます。ハイライトされた問題を解決するために、ReSharp...