ReSharper 2019.2ヘルプ

XAMLのリファクタリング

XAMLでは、ReSharperは、XAMLファイル内のC#およびVB .NETコードで使用可能なのメインセットリファクタリング、およびリソース使用箇所で使用可能なローカライズリファクタリングをサポートしています。XAMLに固有のいくつかのリファクタリングもあります。

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

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

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

    • メインメニューでReSharper | リファクタリング を選択してから、必要なリファクタリングを選択します。このメニューで利用可能なリファクタリングのリストは現在の状況に依存します。ReSharperがコンテキストのリファクタリングを提案できない場合は、メニュー全体が無効になります。

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

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

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

  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
最終更新日: 2019年11月18日

関連ページ:

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

このセクションでは、C#でサポートされているリファクタリングを調べることができます。これらのリファクタリングのほとんどは、Visual Basic .NETやその他の言語でもサポートされています。リファクタリングに加えて、ReSharperはコンテキスト・アクションで利用可能ないくつかの小さなローカ...

コンテキスト・アクション

コンテキストアクションのいくつかの例をReSharperWebサイトでチェックすることができます。コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変...

ファイル構造ウィンドウ

ReSharperでは、ファイル構造ウィンドウを使って現在のドキュメントの構造をナビゲートすることができます。これは大きなファイルでのナビゲーションを非常に簡単にします。ウィンドウはエディターと同期しています。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。ファ...

キーボードショートカットを構成する

すべてのReSharperアクションは、キーボードショートカットで呼び出すことができます。ほとんどのアクションには既定のショートカットがあり、そのまま使用できます。残りのアクションでは、必要に応じて、好きなショートカットキーを割り当てることができます。ReSharperは2つのデフォルトのキーボード...

リファクタリングで競合を解決

ReSharperのすべてのリファクタリングはソリューション全体に適用されるため、多くのファイルが影響を受ける可能性があり、一部の変更は既存のコードと競合する可能性があります。競合がある場合、ReSharperはそれらを検出し、リファクタリングウィザードの最後のページに競合のリストを表示します。例:...

インプレース・リファクタリング

一部のリファクタリングは、コマンドを呼び出さずに適用できます。エディターでコードを変更するだけで十分です。変更がコードをリファクタリングするためのインテンションである可能性があることをReSharperが検出すると、変更されたコードの周囲に灰色の境界線が表示され、対応するアクションインジケーターが左...