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