コード生成
ReSharper は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。
現在のファイルで設計時コードインスペクションが有効になっている場合、ReSharper は足りないメンバーを検出し、足りないメンバーを実装するために対応するクイックフィックスを提案します。
コンテキストアクションとコードテンプレートを使用すると、コードを生成するその他の方法も利用できます。
本セクション:
新しいコードの生成方法を制御するには、主に 2 つの方法があります。
コードスタイルのさまざまな側面(命名スタイル、フォーマットルールなど)を構成します。ReSharper は、コードを生成するときに要件を強制します。
設定に応じて、新しいメンバーのスタブはさまざまな方法で生成されます。たとえば、新しい
NotImplementedException()
をスローしたり、デフォルト値を返したり、コンパイルされないコードを含めたりできます。これらの設定やその他の設定は、ReSharper オプション Alt+R, O の ページで構成できます。
ReSharper のコード生成機能のほとんどは、C# と Visual Basic で利用できます。一部は複数の言語で利用でき、その他は言語固有です。以下の表は、サポートされているすべてのコード生成機能と言語 / テクノロジを示しています。
このセクション内のトピックに示されている手順と例では、C# のコード生成機能の使用について説明します。特定の言語で使用できるコード生成機能の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。
フィーチャー | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
関連ページ:
設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...
欠落 / オーバーライドするメンバーを生成する
継承された型の場合、ReSharper には 2 つの関連するコード生成機能があります。不足しているメンバーの実装は、現在のクラスから欠落しているインターフェースメンバーまたは抽象メンバーを実装します。メンバーのオーバーライドは不足しているメンバーの実装と同じですが、適用可能な場合は仮想メンバーもオーバーライドします。通常、ReSharper は、実装されていないベースメンバーを持つ型をエラーとしてハイライトし、不足しているメンバーをクイックフィックスで生成できるため、不足しているメンバーの実装...
コードの問題のクイックフィックス
ReSharper を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味します。エラー重大
コンテキストアクション
コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更をすばやく導入できます。ReSharper は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、ReSharper オプション Alt+R, O のページとコ...
null チェックルーチンを生成する
ReSharper には、値型のパラメーター、式、null の変数をチェックするコードを生成するためのさまざまな方法が用意されています。目的に応じて、null チェックルーチンは 2 つのカテゴリに分けられます:null は例外とアサーションをチェックする、null 値を持つオブジェクトをスキップするための null チェック、null は例外とアサーションをチェックする:参照であるオブジェクトに遭遇することがプログラムで重大であり、例外をスローすることによってログに記録されるか、シグナルが通...
コード補完でコードを生成する
ReSharper でコードを生成する最も簡単な方法の 1 つは、コード補完を使用することです。必要なのは、いくつかの文字を入力することだけです。コード生成の提案は、自動補完と基本補完のリストに含まれています。コード補完でコードを生成する方法の例をいくつか示します。メンバーのオーバーライドと実装:以下の例では、コード補完は、基本クラスから仮想メンバーのオーバーライドを作成できます。派生型で基本メソッド名を入力し始めると、それをオーバーライドするための提案が表示されます。提案を受け入れると、デフ...