TypeScript のコードインスペクション
TypeScript では、ReSharper 2024.3 は 2 種類のコードインスペクションを提供します。壊れた構文、未解決のシンボル、コンパイラーエラーなどのエラーを検出する 141 個のインスペクション (いずれも構成または無効にすることはできませんインスペクション)、および無効にしたり重大度レベルを変更したりできる 55 個の独自コードインスペクション。
これらのコードインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出するのに役立ち、さらに特定のスコープ内でコードの問題を見つけることもできます。
構成可能な TypeScript インスペクションは、カテゴリ別にグループ化されて以下にリストされています。
一般的なプラクティスとコードの改善 (4 インスペクション)
このカテゴリは、主にコードの可読性に影響する中程度の重大度の問題を探し出すインスペクションをグループ化します。
インスペクション | |
---|---|
抽象クラスのコンストラクターを保護することができます
| |
変数を導入すると型ガードを適用できます
| |
プライベートクラスフィールドは読み取り専用にすることができます
| |
文字列リテラルの使用により、特殊なオーバーロードを作成できます
|
文法の問題 (4 インスペクション)
このカテゴリのインスペクションは、文字列リテラルとドキュメントコメントの文法上の問題を報告します。
インスペクション | |
---|---|
| |
| |
| |
|
言語使用の機会 (9 インスペクション)
このカテゴリには、コードインスペクションが含まれ、ほとんどの場合、より高度な言語構造を使用できる場合に通知する提案の重大度レベルが含まれます。これらのインスペクションは、古い言語バージョンの構文を検出し、より新しい言語バージョンの機能の使用を提案します。サポートされているほとんどの言語では、言語バージョンを自動的に検出するか、手動で設定できます。
インスペクション | |
---|---|
AMD モジュールは外部モジュールに変換可能
| |
クラスエミュレーションをクラスに変換可能
| |
CommonJs モジュールは外部モジュールに変換できます
| |
関数式はラムダ式に変換可能
| |
即時呼び出し関数式を内部モジュールに変換可能
| |
親クラスの呼び出しはスーパーコールに変換可能
| |
関数によって割り当てられたメンバーは、関数メンバーに変換できます
| |
可能なオーバーロードは、関数本体によって推測できます
| |
assertion 型の代わりに 'as' 演算子を使う
|
潜在的なコード品質問題 (15 インスペクション)
このカテゴリには、主にエラーまたは警告レベルで重大な問題(コードのにおい)を検出するインスペクションが含まれます。このカテゴリには、ローカライゼーションの支援を確実にするインスペクションも含まれます。
インスペクション | |
---|---|
おそらくシンボルはアクセスできないモジュールにあります
| |
require() 引数と同じ方法で 'amd-dependency' をチェックする
| |
重複する識別子
| |
型名付き関数の空の戻り値
| |
エクスポートされたエンティティはプライベートエンティティを使用します
| |
NoImplicitAny が設定されているときに 'Implicit any' インスペクション
| |
より具体的な署名はあまり具体的ではない
| |
オーバーロードは主なシグネチャーよりも具体的ではありません
| |
コンストラクター内で割り当てられたパラメータープロパティ値は、クラスプロパティに割り当てられません。
| |
不審な 'instanceof' チェック
| |
クラスメンバー内のローカル関数の文脈における疑わしい「この」使用箇所
| |
疑わしい 'typeof' チェック
| |
型パラメーターは、外部スコープで宣言された型パラメーターを隠す
| |
static イニシャライザーの未割り当てプロパティを使用
| |
宣言されていない変数の使用
|
コードの冗長性 (9 インスペクション)
このカテゴリのコードインスペクションは、コードの可読性とスタイルに影響を与える冗長性とデッドコードを探し、安全に削除できます。一部のコードの冗長性は自動的に修正できず、それらのクイックフィックスはインタラクティブモードで実行され、ユーザー入力が必要です。ただし、冗長性の大部分は、スコープ内の修正またはコードのクリーンアップを使用して、ユーザーの操作なしで修正できます。
インスペクション | |
---|---|
ブール値とブール値の比較は、値または否定された値と同等です
| |
ブール値の二重否定は冗長です
| |
重複する参照コメントは冗長です
| |
extend/implements の冗長親タイプ指定
| |
冗長修飾子
| |
参照コメントは循環依存を作成する
| |
三項演算子はその条件に置き換えることができます
| |
タイプキャストは冗長です: 式は常に提供されます
| |
タイプキャストは冗長です: 表現は構造的に互換性のある型である
|
シンボル宣言の冗長性 (6 インスペクション)
このカテゴリにはコードインスペクションが含まれ、ほとんどが重大度レベルが警告であり、空の未使用のシンボル宣言を検出します。
インスペクション | |
---|---|
パラメーターはメイン署名の一部ではありません
| |
パラメーターを持たない冗長な空のコンストラクター
| |
同じアイテムが異なる名前で 2 回インポートされる
| |
型ガードは変数の型を決して生成しません
| |
型ガードは変数の型にはまったく影響しません
| |
未使用のローカルインポート
|
スペルの問題 (3 インスペクション)
これらのインスペクションは、さまざまな状況でタイプミスを検出します。
インスペクション | |
---|---|
| |
| |
|
構文スタイル (5 インスペクション)
このカテゴリのインスペクションは、コード構文スタイルの違反を検出します。ほとんどのコードインスペクションとは対照的に、これらのインスペクションは、ReSharper オプション Alt+R, O の ページで構成された対応するコードスタイルルールに応じて、同じコード構造をコードの問題として検出するかしないかを選択できます。また、コードクリーンアップを使用して、これらのインスペクションが検出した問題を修正することもできます。
インスペクション | |
---|---|
要素に暗黙の「any」型があります
| |
'要求' 内の非準拠のパススタイル
| |
非準拠の「パブリック」修飾子またはその不在
| |
変数の型を明示的に指定可能
| |
変数の型は、割り当てられた値の型からコンテキストに応じて決定されるため、型の指定は冗長です。
|
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コードインスペクション
ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。コードインスペクションは、以下のグループに分...
設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...
特定の範囲でコードの問題を見つける
設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharper を使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を共有することもできます。開始コードインスペクション:ソリューション、プロジェクト、カスタムスコープのコードをインスペクションするソリューションワイドのインスペクションの結果(たとえば、未使用のパブ...
ローカライゼーションインスペクションとクイックフィックス
ReSharper は、リソースファイル内のローカライズ可能な文字列、リソースの問題などを検出することにより、アプリケーションをローカライズするのに役立つ多数のコードインスペクションを提供します。これらのインスペクションは、オープンドキュメントの設計時にローカライゼーションの問題を検出し、ソリューション全体まで特定の範囲でローカライゼーションの問題を見つけることができます。設計時には、検出された問題があなたの注意を引くためにハイライトされます。ハイライトされた問題を解決するために、ReSharp...
スコープを修正
ほとんどのクイックフィックスは、キャレットで現在の問題を修正できますが、中には (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)、現在のファイル、現在のプロジェクト、ソリューション全体など、より大きな範囲で問題を自動的に見つけて修正できるものもあります。範囲内の修正を適用する:このような修正は、アクションリストの横に表示される小さな矢印で識別できます。範囲内の修正を適用する ReSharper のインスペクションでハイライトされているコード...