ReSharper 2020.1ヘルプ

ReSharper設定の管理と共有

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

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

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

  • 特定の設定のサブセットをVCSに置くことで、チーム内の設定を同期させることができます。ReSharperには、チームの設定を別のファイルに保存するというデフォルトのオプションがあります。このファイルはソリューションフォルダーに保存され、VCSに簡単に追加できます。他のチームメンバーがReSharperを使用している場合、このファイルからの設定は、VCSから変更を取得するとすぐに自動的に適用されます。Visual Studioの再起動やソリューションのリロードは不要です。

  • 設定のサブセットをファイルに保存して動的に更新できるため、他の多くの方法で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

設定レイヤーを管理する

デフォルトでは、'Solution team shared'レイヤーを使用してソリューションごとにReSharper設定を共有できます - する必要がある唯一のことは *.dotSettings ファイルをバージョン管理下に置くことです。
他の方法で設定を共有する場合は、新しい設定レイヤーを作成し、インポートおよびエクスポートする方法を習得する必要があります。これらの目的のために、ReSharperはVisual Studioメニュー(ReSharper | オプションの管理)とオプションダイアログ(管理ボタンをクリックすることで)で利用可能な設定レイヤーダイアログを提供します。

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

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

Add a custom setting layer

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

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

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

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

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

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

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

Edit a specific setting layer

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

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

    • レイヤーの編集 ThemedIcon Settings Screen Gray をクリックします。

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

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

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

    ReSharper: Editing a single settings layer

    Note that the values of the settings that you see in this mode are either taken from the default values or from values defined in the edited layer. If a setting is not defined in the edited layer, the value from the default settings is shown (for example the value 'blue' for 'Setting B' in the illustration below).

    If in this case, you need to save the value 'blue' in the 'Setting B' of the edited layer, you need to save the setting first with some other value, and then edit it again and save with the desired value.

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

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

Export settings from a setting layer to file

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

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

    • ツールバーで、インポート/エクスポート ThemedIcon ImportExportLayer Screen Gray をクリックし、ファイルへエクスポートをクリックします。

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

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

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

Import settings from a setting layer file to a setting layer

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

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

    • ツールバーで、インポート/エクスポートの設定 ThemedIcon ImportExportLayer Screen Gray をクリックします。インポートするファイルの場所に応じて、ファイルからインポートまたはURL からインポートをクリックします。

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

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

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

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

Copy settings from one layer to another

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

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

    • ツールバーのコピー先の設定 ThemedIcon CopySettings Screen Gray をクリックし、ターゲット設定レイヤーを選択します。

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

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

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

さらに、すべての定義済みレイヤーのすべての設定をリセットし、すべてのカスタム設定レイヤーをマウント解除して、すべての設定をデフォルト値に戻すことができます。これを行うには、ツールバーのすべての設定をリセットする ThemedIcon ResetLayer 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を同時に使用している場合は、あるバージョンで変更された設定が別のバージョンで正しく読み取られるかどうかを確認し、正しくない場合は別のバージョンでもう一度同じ変更を加えます。

最終更新日: 2020年5月27日

関連ページ:

EditorConfigを使用する

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウの現在のファイルに影響するかを見ることができます。ReSharperは、EditorConfig形式で定義されたコードフォーマットスタイル、コード構文スタイル、C#の命名スタイル、およびコードインスペクションの重大度レベルをサポートし...

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

ReSharperの設定のメインセット(ReSharper | オプションダイアログで設定)は、グローバルまたはソリューションごとに適用されます。各プロジェクトまたはフォルダーごとに個別に設定できる環境設定もあります。これらの設定は、プロジェクトアイテムのプロパティポップアップで利用できます。プロジ...

ネーミングスタイル

バージョン2018.3から、ReSharperは既存のコードからC#シンボルの命名規則を自動的に学習を実行できます。命名規則を手動で構成する場合は、ReSharperオプション(Alt+R,O)のページの自動検出ルールを使用するチェックボックスをオフにします。ReSharperは、コード内のシンボル...

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

コードスタイルの重要な点は、コードの書式設定方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。多数のReSharperコードフォーマットルールには、デフォルトのVisual Studioフォーマットオプションと多数のベ...

オプション

オプションダイアログはReSharper設定の中心的な場所です。左上隅にある検索ボックスを使用して、目的の設定を見つけることができます。設定は、次のカテゴリで構成されています。環境一般、キーボード、エディターエディターの外観、エディターの動作、Visual Studioの機能、インレイ・ヒント、検索...

設定レイヤーダイアログ

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