ReSharper 2024.1 ヘルプ

XAML のリファクタリング

XAML では、ReSharper はリファクタリングのメインセットをサポートします。リファクタリングのメインセットは XAML ファイル内の C# および VB .NET コードで使用でき、ローカライゼーションリファクタリングはリソースの使用に使用できます。このトピックでは、XAML に固有のリファクタリングを一覧表示します。

リファクタリングを実行する

  1. シンボルにキャレットを置き、リファクタリングするコードフラグメントを選択するか、ツールウィンドウ内の項目を選択します。

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

    • メインメニューから ReSharper | リファクタリングを選択し、目的のリファクタリングを選択します。このメニューで使用できるリファクタリングのリストは、現在のコンテキストによって異なります。ReSharper がコンテキストのリファクタリングを提案できない場合、メニュー全体が無効になります。

    • エディター、ファイル構造ウィンドウ、またはその他の ReSharper ウィンドウで、変換する項目を右クリックし、コンテキストメニューからリファクタリングを選択してから、必要なリファクタリングを選択します。

    • メインメニューから ReSharper | リファクタリング | リファクタリングを選択するか、Control+Shift+R を押して、適用可能なリファクタリングのリストを表示し、そのうちの 1 つを選択します。選択項目のコンテキストメニューでリファクタリングを選択することもできます。

    • 特定のリファクタリングに割り当てられているデフォルトのキーボードショートカットを使用するか、お気に入りのリファクタリングコマンドにカスタムショートカットを割り当てます。

  3. 選択したリファクタリングにユーザー入力が必要な場合は、リファクタリングウィザードが開きます。ウィザードのダイアログはモーダルではないため、ウィザードが開いている間にコードを編集できます。

    リファクタリングアクションをロールバックするために、ウィザードにはオプション元に戻すを有効にするには、変更のあるすべてのファイルを編集用に開きますが用意されています。このオプションを選択すると、ReSharper は変更されたすべてのファイルを新しいエディタータブで開き、リファクタリングをロールバックできます。この場合、変更を自分で保存する必要があります。このオプションが選択されていない場合、ReSharper は変更されたファイルを開かずに自動的に保存します。

  4. リファクタリング操作によってコードの競合 (名前の重複、可視性の競合など) が発生する場合、ウィザードはリファクタリングを適用する前の最後のステップで競合のリストを表示します。一部の競合については、ウィザードがクイックフィックスを提案することもできます。詳細については、リファクタリングの競合を解決するを参照してください。

一部のリファクタリングは、エディターでコードを変更した直後に使用できます。詳細については、インプレースリファクタリングを参照してください。

XAML リソースの抽出

いくつかの値が繰り返し使用される場合は、そのような値をリソースに移動し、そのすべての出現をリソース参照で置き換えることが理にかなっています。これを行うには、XAML リソースの抽出リファクタリングを適用します。

ReSharper: Extract XAML Resource refactoring

XAML リソースの抽出ダイアログが開き、新しいリソースの名前、可視性の範囲、リソースが静的または動的に参照されるかどうかを指定できます。

ReSharper: Extract XAML Resource refactoring

競合が検出されない場合は、ReSharper は新しいリソースを追加します。それ以外の場合は、競合を解決するように促します。

XAML スタイルを抽出

既存のプロパティとその値に基づいて新しいスタイルを作成するには、XAML スタイルを抽出リファクタリングを使用します。

ReSharper: Extract XAML Style refactoring

XAML スタイルを抽出ダイアログが開き、新しいスタイルを作成するか既存のスタイルを使用するか、抽出するプロパティを指定するかを指定できます。

ReSharper: Extract XAML Style refactoring

競合が検出されない場合、ReSharper は新しいスタイルを作成します。それ以外の場合は、競合を解決するように求められます。

インライン XAML リソース

このリファクタリングにより、スタイルとリソースを別々の宣言から対応するコントロールの属性のインライン宣言に移動できます。

Inline XAML Resource refactoring

関連ページ:

リファクタリングのメインセット

このセクションでは、C# でサポートされているリファクタリングについて学習できます。これらのリファクタリングのほとんどは、Visual Basic やその他の言語でもサポートされています。シグネチャーの変更、抽象クラスをインターフェースに変換、匿名から名前付き型に変換、拡張メソッドをプレーンスタティックに変換、インデクサーをメソッドに変換、インターフェースを抽象クラスに変換、メソッドをインデクサーに変換、メソッドをプロパティに変換する、プロパティを自動プロパティに変換、プロパティをメソッドに変換...

ローカライゼーションリファクタリング

ReSharper は、プロジェクトの国際化を大幅に簡素化する一連のリソース関連のリファクタリングを提供します。リソースに移動:プロジェクトの内部化に取り組むときは、ローカライズ可能な文字列をリソースファイルに格納するのが一般的です。ReSharper はローカライズ対象の文字列を検出してハイライトするため、そのような文字列を簡単に見つけてソースコードからリソースファイルに移動できます。ReSharper は対応するリソースエントリを宣言し、コード内の文字列をリソース使用量に置き換えます。ロー...

コンテキストアクション

コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更を素早く導入できます。ReSharper は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、ReSharper オプション Alt+R, O のページとコン...

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

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

キーボードショートカットを設定する

すべての ReSharper アクションは、キーボードショートカットで呼び出すことができます。ほとんどのアクションには既定のショートカットがあり、そのまま使用できます。残りのアクションでは、必要に応じて、好きなショートカットキーを割り当てることができます。ReSharper は、2 つのデフォルトのキーボードショートカットスキームを提供します。Visual Studio — このスキームは、Visual Studio 独自のキーボードショートカットとの競合を最小限に抑えることを目的としています。I...

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

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