自動プロパティを使用する
自動実装されたプロパティ(自動プロパティとも呼ばれます)を使用すると、追加のロジックを持たない型プロパティをより簡単な方法で宣言できます。デフォルトでは、ReSharper は可能な場合は自動プロパティの使用を推奨していますが、この動作は構成可能です。
デフォルトでは、ReSharper は自動プロパティに変換される可能性があるほとんどのプロパティをハイライトし、対応するクイックフィックスまたはスコープ内の修正を提案します。
ReSharper にこれを提案させたくない場合は、それを検出するコードインスペクション(プロパティを自動プロパティに変換する)を無効にすることができます。この場合、バッキングフィールドを持つプロパティはハイライトされず、クイックフィックスは推奨されませんが、コンテキストアクションまたは対応するリファクタリングを使用して変換を適用することができます。
既存の自動プロパティをバッキングフィールドのあるプロパティに変換する逆の機能は、対応するコンテキストアクションでも使用できます。計算プロパティへコンテキストアクションを使用して、プロパティアクセサーのデフォルトの本体を生成することもできます。
バルクモードでプロパティを自動プロパティに変換するもう 1 つのオプションは、コードのクリーンアップです。以下に説明するように、ビルトイン: フルクリーンアッププロファイルを使用してコードのクリーンアップを実行するか、特定のタスクのみを対象としたカスタムプロファイルを作成して実行することができます。
カスタムコードクリーンアッププロファイルを使用して、プロパティを自動プロパティに変換する
メインメニューから Alt+R O を押します。
を選択するか、クリーンアッププロファイル設定ページに移動します:
。新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、可能であれば、自動プロパティを使用するチェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。
オプションダイアログで保存をクリックして変更を適用し、ReSharper に変更を保存する場所を選択させるか、保存先セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「resharper 設定の管理と共有」を参照してください。
自動プロパティを使用するスコープを選択します。
ファイルの自動プロパティを使用するには、ファイル内の任意の場所にキャレットを置きます。
ソリューションエクスプローラーの 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルで自動プロパティを使用します。
以下のいずれか 1 つを実行します:
Control+Alt+F を押すか、メインメニューから
を選択してください。テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューでコードのクリーンアップを選択します。
開いたコードのクリーンアップダイアログで、新しく作成したプロファイルを選択します。
実行をクリックします。ReSharper は、選択したスコープで自動プロパティを使用します。
コードクリーンアップダイアログを開いてプロファイルを選択せずに、プロパティを自動プロパティに変換する場合は、作成したプロファイルをサイレントクリーンアップにバインドし、Control+Shift+Alt+F を押して実行できます。自動プロパティへの変換と他のコードスタイルタスクを組み合わせたカスタムクリーンアッププロファイルを作成することもできます。
変更をファイルに保存するたびにプロパティを自動プロパティに変換して、編集内容が常にコードスタイルに準拠していることを確認できます。
変更を保存すると、プロパティが自動プロパティに自動的に変換されます
メインメニューから Alt+R O を押します。
を選択するか、クリーンアッププロファイル設定ページに移動します:
。カスタムコードクリーンアッププロファイルを選択し、デフォルトに設定をクリックします(デフォルトプロファイルはサイレントクリーンアップにも使用されます)。
ファイルの保存時にクリーンアップを自動的に実行するを選択します。
オプションページに移動し、オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。
ファイルの変更された部分のみを選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。
部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更された部分のみにクリーンアップを制限できない場合はファイルをスキップします。
共有ファイルの保存時にクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。
ダイアログで保存をクリックして変更を適用し、ReSharper に変更を保存する場所を選択させるか、保存先セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「resharper 設定の管理と共有」を参照してください。
次回編集を終了してファイル (Ctrl+S) またはすべてのファイル (Ctrl+Shift+S) を保存すると、ReSharper は選択したプロファイルを使用して影響を受けるファイルをクリーンアップします。デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルの 1 つを選択するように求めます。
この機能は、次の言語とテクノロジーでサポートされています。
関連ページ:
設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...
コードの問題のクイックフィックス
ReSharper を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味します。エラー重大
スコープを修正
クイックフィックスのほとんどは、キャレットの現在の問題を修正できますが、一部 (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など) は、現在のファイル、プロジェクト、フォルダー、ソリューション全体など、より広い範囲で問題を自動的に検出して修正することもできます。範囲内の修正を適用する:このような修正は、アクションリストの横に小さな矢印が表示されることで認識できます。範囲内の修正を適用する ReSharper のインスペクションでハイライトされて...
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コンテキストアクション
コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更をすばやく導入できます。ReSharper は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、ReSharper オプション Alt+R, O のページとコ...
メンバーの生成
ReSharper オプションのこのページでは、コード生成設定を調整できます。詳細については、コード生成を参照してください。生成されたメンバーのデフォルトボディスタイルこの設定により、生成されたメンバーの本体に何を追加するかを選択できます。新しい NotImplementedException() をスローする: このオプションが選択されると、ReSharper は生成されたメンバーの本体にをスローします。デフォルト値を返す: このオプションを選択すると、ReSharper は戻り値の型に従って...