ReSharper 2020.3 ヘルプ

ReSharper 設定の管理と共有

ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。

  • さまざまなソリューションで異なる設定を行うことができます。

  • 環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。

  • You can synchronize preferences within your team by keeping a specific subset of settings under a VCS. ReSharper provides a default option of keeping team preferences in a separate file, which is saved in the solution folder and can be easily added to your VCS. If other team members use ReSharper, settings from this file will be applied automatically as soon as they pull the changes from the VCS — no Visual Studio restart or solution reload is needed.

  • 設定のサブセットをファイルに保存して動的に更新できるため、他の多くの方法で ReSharper の設定を共有できます。例: あなたの個人的な好みを Dropbox に保存し、別のマシンで使用することができます。

  • 異なる設定ファイルの環境設定がレイヤーとして適用されるため、同じ設定の値が異なる設定ファイルで異なる場合、「上位」レイヤーの値が使用されます。これにより、特定の設定ファイルで定義された設定を、このファイルで変更する代わりに上書きできます。
    次の例について考えてみます。
    BSD スタイルの括弧を使用し、このフォーマット設定を個人設定で保持するとします。ただし、GNU スタイルの括弧が規約で使用されている特定のソリューションの作業を開始します。ReSharper を使用すると、対応するフォーマットを変更してソリューション固有の設定レイヤーに保存できるため、個人設定を上書きして適用することができます。このソリューションに取り組みます。別のソリューションを開くと、個人設定が再度適用されます。

デフォルト設定とレイヤーの設定

ReSharper にはデフォルトの設定が用意されています。これは .NET の世界での規約とベストプラクティスに基づいています。これらのデフォルト設定は製品にハードコードされており、必要に応じていつでもデフォルトにリセットできます。設定を変更した場合、変更は設定レイヤーに保存され、ReSharper はそれを適用して対応するデフォルト設定を上書きします。最初に、ReSharper は、このコンピューターソリューションチーム共有パーソナルソリューションの 3 つのレイヤーを提案します。

「このコンピューター」レイヤー

この設定レイヤーは、個人のグローバル設定用に指定されており、ローカルマシン上のすべてのソリューションに適用されます。
対応する設定ファイルは次のように保存されます: %APPDATA%\JetBrains\Shared\vAny\GlobalSettingsStorage.DotSettings

「ソリューションチーム共有」レイヤー

このレイヤーは、名前付けスタイルフォーマットルールなど、現在のソリューションのチーム設定を適用する一般的な設定用に指定されています。このレイヤーの設定は、このコンピューターレイヤーの設定を上書きします。
対応する設定ファイル <SolutionName>.sln.DotSettings がソリューションフォルダーに保存されます。
このファイルが VCS に追加され、チームメンバーが取得するとすぐに、ソリューションを再ロードせずに、このファイルの設定が自動的に適用されます。

「ソリューションパーソナル」レイヤー

このレイヤーを使用すると、チーム共有設定を変更せずに上書きできます。このソリューションでのみ、チームとは関係なくいくつかの設定を適用する必要がある場合は、これが役立つことがあります。
対応する設定ファイル <SolutionName>.sln.DotSettings.user がソリューションフォルダーに保存されます。それを VCS に追加しないでください。

以下の図を考えてみましょう。最初はすべての設定レイヤーが空であるため、ReSharper は「見ることができます」とデフォルト設定を適用することができます。

default and modified setting layers

実際には、最初に設定レイヤーファイルは存在しません。最初に作成され、いくつかの設定を変更して保存します。しかし、設定ファイルが存在する場合、設定ファイルに定義されていないすべての設定に対して ' 透過的 ' です。

設定を保存して上書きする

オプションダイアログでいくつかの設定を変更するたびに、ダイアログの下部に未保存の設定の数を示すメッセージが表示されます。

Save or Save To in ReSharper options
変更を適用するには、次のいずれかのボタンを使用して変更を保存する必要があります。

保存 (スマートセーブ)

これは「スマート保存」ロジックを適用します。
これを使用して変更を保存し、チーム共有レイヤーやカスタムレイヤー(ある場合)をそのまま維持します。つまり、レイヤーの設定を気にせずに変更を保存するだけの場合は、保存を使用します。
保存は変更を「このコンピューター」設定レイヤーに保存します。「ソリューションチーム共有」レイヤーやカスタムレイヤーに変更された設定に他の値がある場合、変更は「ソリューションパーソナル」にも保存されます。他のレイヤーの値を上書きするレイヤー。

以下の図の例を考えてみましょう。3 つの設定を変更し、「青」値の代わりに「緑」を設定したとします。これらの変更はこのコンピューターレイヤーに保存されました。次に、あなたのチームはあなたのチーム共有ソリューション内で設定 A と C を「黄色」にすることに決めました。そのため、これらの値は「ソリューションチーム共有」レイヤーのチームリードによって保存され、ReSharper はプルしてすぐに適用しましたあなたの VCS からの変更。最後に、A を設定するための ' 緑色 ' の値がより快適に感じられ、再度変更して保存しました。今回は、'Solution personal' レイヤーにも保存されました。チーム共有層を変更することなく

Applying and overriding ReSharper settings

次へ保存 (特定のレイヤーに保存)

これらのコマンドを使用して、変更した設定を「ソリューションチーム共有」レイヤーまたはカスタムレイヤーに保存する必要があります。また、必要に応じて他のレイヤーに変更を保存することもできます。

設定を特定のレイヤーに保存する唯一の方法は、同じ設定が、レイヤーのスタックの上の他のレイヤーのどこにでも別の値で定義されている場合、適用されないことです。下の図は、「このコンピューター」レイヤーで設定 C を「赤色」に変更しようとした理由と、結果の設定を変更できなかった理由を示しています。

Using 'Save To' for saving ReSharper settings

設定レイヤーを管理する

By default, you can share ReSharper settings per solution using the 'Solution team shared' layer — the only thing you need to do is to put the *.dotSettings file under version control.
If you want to share settings in other ways, you would need to learn how to create new setting layers, import and export them. For these purposes, ReSharper provides the 設定レイヤーダイアログ , availablein the Visual Studio menu ( ReSharper | オプションの管理 ) and in the オプション dialog (by clicking the 管理 button).

カスタム設定レイヤーは、既存のデフォルトレイヤーに追加されます。例: カスタムレイヤーの設定をすべてのソリューションに適用する場合は、このコンピューターレイヤーに追加します。それ以外の場合は、チーム共有設定を上書きするかどうかに応じて、ソリューション固有のレイヤーのいずれかに追加します。

カスタム設定レイヤーが追加されるとすぐに、オプションダイアログの次へ保存セレクターに表示されます。これを使用して、変更した設定をカスタムレイヤーに保存できます。このレイヤーを編集して、このレイヤーの設定を変更することもできます。

カスタム設定レイヤーを追加する

  1. 設定レイヤーダイアログで、レイヤーを追加するデフォルトのレイヤーの 1 つを選択します。

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

    • レイヤーを追加する Themed icon added parameter screen gray をクリックし、次に設定ファイルの作成をクリックして新しい空の設定レイヤーまたは設定ファイルを開くを作成して、ファイルシステムまたは任意の URI から既存の設定レイヤーを組み込みます。

    • 右クリックして、レイヤーを追加するセレクタで対応するコマンドの 1 つを選択します。

  3. 選択したコマンドに応じて、新しい設定レイヤーファイルの名前と場所を指定するか、拡張子 .DotSettings の既存の設定レイヤーファイルを選択します。

  4. 追加されたレイヤーの設定は、レイヤーのスタック内の位置に応じて適用されます。これは、設定レイヤーダイアログで確認できます。つまり、一部の設定が上位レイヤーで定義されている場合、上位レイヤーの値が結果の設定で使用されます。必要に応じて、上へ移動および下へ移動ボタンを使用して、レイヤーを選択すると使用可能になるグループ内のカスタム設定レイヤーを再配置できます。

オプションダイアログの次へ保存ボタンを使用して、変更した設定を特定のレイヤーに保存する代わりに、編集用に特定の設定レイヤーを開くことができます。

特定の設定レイヤーを編集する

  1. 設定レイヤーダイアログで、編集する設定レイヤーを選択します。

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

    • レイヤーの編集 Themed icon settings screen gray をクリックします。

    • コンテキストメニューで右クリックし、編集を選択します。

    • 目的のレイヤーをダブルクリックします。

  3. オプションダイアログが開き、レイヤーの名前とその場所がダイアログの上部に表示されます。

    ReSharper: Editing a single settings layer

    このモードで表示される設定の値は、デフォルト値または編集されたレイヤーで定義された値から取得されることに注意してください。編集したレイヤーで設定が定義されていない場合、デフォルト設定の値が表示されます(たとえば、下の図の「設定 B」の値「青」)。

    この場合、編集したレイヤーの「設定 B」に「青」という値を保存する必要がある場合は、まず他の値で設定を保存してから、もう一度編集して目的の値で保存する必要があります。

    Editing a single setting layer
  4. 必要に応じてレイヤー内の設定を編集し、保存をクリックして変更を保存します。

設定の特定のサブセットを任意の設定レイヤーから新しい設定ファイルにエクスポートできます。このファイルは、ReSharper の別のインスタンスで使用して、これらの設定を適用することができます。

設定レイヤーからファイルに設定をエクスポートする

  1. 設定レイヤーダイアログで、設定をエクスポートする設定レイヤーを選択します。

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

    • ツールバーで、インポート / エクスポート Themed icon import export layer screen gray をクリックし、ファイルへエクスポートをクリックします。

    • レイヤーを右クリックし、コンテキストメニューからファイルへエクスポートを選択します。

  3. 表示されるファイルへエクスポートダイアログで、エクスポートする設定のグループを指定し、OK をクリックして、設定画層ファイルの名前と場所を指定します。

カスタム設定レイヤー追加する代わりに、このカスタムレイヤーから既存のデフォルトまたはカスタムレイヤーの 1 つに設定のサブセットをコピーできます。

設定レイヤーファイルから設定レイヤーに設定をインポートする

  1. 設定レイヤーダイアログで、設定をインポートする設定レイヤーを選択します。

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

    • ツールバーで、インポート / エクスポートの設定 Themed icon import export layer screen gray をクリックします。インポートするファイルの場所に応じて、ファイルからインポートまたは URL からインポートをクリックします。

    • レイヤーを右クリックします。コンテキストメニューでインポート元をクリックし、ファイルからインポートまたは URL からインポートをクリックします。

  3. インポートするファイルの場所を指定します。URL からインポートすることを選択した場合は、ファイルへのパスを UNC 形式で指定する必要があることに注意してください。

  4. 表示されるファイルからインポートダイアログで、インポートする設定のグループを指定し、OK をクリックします。

また、ReSharper では、マウントされている設定レイヤーの設定の一部を別のレイヤーにコピーすることもできます。

レイヤー間で設定をコピーする

  1. 設定レイヤーダイアログで、設定をコピーする設定レイヤーを選択します。

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

    • ツールバーのコピー先の設定 Themed icon copy settings screen gray をクリックし、ターゲット設定レイヤーを選択します。

    • レイヤーを右クリックし、コンテキストメニューでコピー先の設定を選択し、ターゲット設定レイヤーを選択します。

  3. 表示される次へコピーダイアログで、コピーする設定のグループを指定し、OK をクリックします。

必要に応じて、特定の画層に保存されているすべての設定をクリアすることができます。これを行うには、レイヤーを右クリックし、コンテキストメニューのリセットをクリックします。

さらに、すべての定義済みレイヤーのすべての設定をリセットし、すべてのカスタム設定レイヤーをマウント解除して、すべての設定をデフォルト値に戻すことができます。これを行うには、ツールバーのすべての設定をリセットする Themed icon reset layer screen gray をクリックします。

また、カスタム設定レイヤーを一時的に無効にすることもできます。または、カスタム設定レイヤーを右クリックし、コンテキストメニューから除去を選択して、特定のカスタム設定レイヤーをアンマウントすることもできます。

設定を新しいバージョンにアップグレードする

新しいバージョンの ReSharper によって設定の保存形式が変更されることがあります。そのような場合、影響を受ける設定ファイルは新しいバージョンの最初の起動時に自動的にアップグレードされます - ReSharper は設定ファイルに変更されたフォーマットの設定を追加するだけです。それはまたそれ以上のアップグレードを防ぐためにアップグレードされたものを言うエントリを追加します。例:

<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/[migration_ID]/@EntryIndexedValue">True</s:Boolean>

ただし、設定ファイルをアップグレードした場合でも、古い ReSharper バージョン(アップグレードしなかったチームメイトとこのファイルを共有している場合など)で引き続き使用できます。廃止予定の設定は変更も削除もされないためです。とりわけ、これは自動的にアップグレードされた .dotSettings ファイルの変更を VCS に安全にコミットできることを意味します。

ここで重要なことは、アップデート後に古いバージョンに戻った後、この古いバージョンを使って設定を変更してから新しいバージョンに戻ることです。ReSharper は 2 回目の設定のアップグレードは行いません。そのため、変更した設定の中には、古い形式で保存され、新しいバージョンでは読み取られないものがあります。

あなた(またはあなたのチーム)が 2 つの異なるバージョンの ReSharper を同時に使用している場合は、あるバージョンで変更された設定が別のバージョンで正しく読み取られるかどうかを確認し、正しくない場合は別のバージョンでもう一度同じ変更を加えます。

関連ページ:

EditorConfig を使用する

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウの現在のファイルに影響するかを見ることができます。ReSharper は、EditorConfig 形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。Matthell は、ReSharper が EditorConfig を使用してフォーマットルールの設定全体をどのように維持するのをヘルプいるかを示しています。EditorConfig とは何ですか? R...

プロジェクト固有のプロパティを構成する

ReSharper の設定のメインセット(ReSharper | オプションダイアログで設定)は、グローバルまたはソリューションごとに適用されます。各プロジェクトまたはフォルダーごとに個別に設定できる環境設定もあります。これらの設定は、プロジェクトアイテムのプロパティポップアップで利用できます。プロジェクトアイテムのプロパティポップアップは、ソリューションエクスプローラーでプロジェクトのコンテキストメニューからプロジェクト項目のプロパティを編集するを選択して呼び出すことができます。他の ReSh...

ネーミングスタイル

バージョン 2018.3 から、ReSharper は既存のコードから C# シンボルの命名規則を自動的に学習を実行できます。命名規則を手動で構成する場合は、ReSharper オプション(Alt+R, O)のページの自動検出ルールを使用するチェックボックスをオフにします。ReSharper は、コード内のシンボルの命名スタイルを定義、制御、適用できます。命名スタイルはルールのセットとして実装され、それぞれが特定の識別子を制約のセットでターゲットにします(たとえば、ルールは静的なプライベート読み...

コードフォーマットルールの管理と適用

コードスタイルの重要な点は、コードのフォーマット方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。ReSharper コードフォーマットルールの広範なセットには、デフォルトの Visual Studio フォーマットオプションと多数のベストプラクティスを考慮したデフォルト構成があります。フォーマットルールのすべての詳細を構成し、コードにルールを適用できます。これらのルールは、ReSharper がコード補完およびコ...

オプション

Alt+R, O オプションダイアログは ReSharper 設定の中心的な場所です。左上隅にある検索ボックスを使用して、目的の設定を見つけることができます。ターゲット C# バージョンなど、一部のプロジェクト固有のプロパティは、Visual Studio のプロパティウィンドウの ReSharper プロパティグループで構成されます。プロジェクトごとに ReSharper の設定を保存することもできます。詳しくは、JetBrains.NET ツールブログ: プロジェクトごとの設定またはテストプロジェ...

設定レイヤーダイアログ

設定レイヤーダイアログはReSharper オプションを管理するための中央コントロールパネルです。現在のソリューションで利用可能なすべての設定レイヤーが表示され、これらの設定を管理するためのコントロールが提供されます。このダイアログには、次のコントロールがあります。インポート元選択した設定レイヤーか