ReSharper 2024.1 ヘルプ

メソッドリファクタリングのインライン化

このリファクタリングは、静的、インスタンス、拡張メソッドの使用箇所をその本体に置き換え、オプションで元のメソッド宣言を削除できます。

このリファクタリングをバッキングフィールドのあるプロパティに適用することもできます。この場合、読み取りの使用箇所は getter 本体に置き換えられ、書き込みの使用箇所は setter 本体に置き換えられます。

以下の例では、このリファクタリングを使用して LogError メソッドをインライン展開します。

abstract class Shape { public void Draw() { try { /*draw*/ } catch (Exception e) { LogError(e); } } private static void LogError(Exception e) { File.WriteAllText(@"c:\Errors\Exception.txt", e.ToString()); } }
abstract class Shape { public void Draw() { try { /*draw*/ } catch (Exception e) { File.WriteAllText(@"c:\Errors\Exception.txt", e.ToString()); } } }

メソッドをインライン化する

  1. エディターでメソッドの宣言または使用箇所にキャレットを置くか、ファイル構造ウィンドウウィンドウで選択します。

  2. 以下のいずれか 1 つを実行します:

    • Control+Alt+N を押し、次にメソッドのインライン化を選択します。

    • Control+Shift+R を押し、メソッドのインライン化を選択します。

    • 右クリックして、コンテキストメニューからリファクタリング | メソッドのインライン化を選択します。

    • メインメニューから ReSharper | リファクタリング | インライン化 | インライン化…を選択します。

    メソッドのインライン化ダイアログが開きます。

  3. メソッドの使用時にリファクタリングを呼び出した場合、すべての用途をインラインチェックボックスをオフにして、現在の使用のみをインライン化できます。

  4. 必要に応じて、インラインメソッドの宣言を削除するチェックボックスをオフにして、元のメソッド宣言を保持します。

  5. リファクタリングを適用するには、次へをクリックします。

  6. 競合が見つからない場合、ReSharper はすぐにリファクタリングを実行します。それ以外の場合は、競合を解決するように求められます。

ReSharper: Inline Method dialog

この機能は、次の言語とテクノロジーでサポートされています。

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語別 ReSharper セクションの対応するトピックを参照してください。

関連ページ:

メソッドの抽出リファクタリング

このリファクタリングにより、選択したコードフラグメントに基づいて新しいメソッドまたはローカル関数を作成できます。ReSharper は、選択されたステートメントを分析し、メソッドパラメーターに変換できる変数、またはその戻り値を表す変数を検出します。次の例を考えてみましょう。メソッドは実際に 2 つのことを行います。文字列を反転して出力します。反転ロジック (を除くすべてのステートメント) を選択し、このリファクタリングを使用してそのロジックを新しいメソッドに移動できます。static void...

構造別にファイルを移動する

ReSharper では、ファイル構造ウィンドウを使用して現在のドキュメントの構造を移動でき、大きなファイルでのナビゲーションが大幅に簡素化されます。ウィンドウはエディターと同期されます。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。ファイル構造ウィンドウを開いて使用するを押すか、メインメニューからを選択します。または、を押して、ポップアップにコマンド名を入力し、そこで選択することもできます。現在のドキュメントの内容はツリー構造で表示され、ドキュメント内...

リファクタリングの競合を解決する

ReSharper のすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharper はそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例: 安全な削除リファクタリングをメソッドに適用するときに表示されるいくつかの競合を次に示します。競合には 2 つの型があります。コンパイルを中断することなく削除できる使用箇所は、アイコンでマークされて...

さまざまな言語の ReSharper 機能

以下の表は、各 ReSharper 機能がサポートされている言語 / テクノロジーを説明しています。これらは言語固有の機能のみをリストし、プロジェクト依存関係ダイアグラム、名前空間の調整リファクタリング、スタックトレースエクスプローラーなどのプロジェクト / ソリューションスコープの多くの機能を含まず、最近のファイルを表示します。コード解析:コードインスペクション

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...

言語による ReSharper: MS ビルド

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...