ReSharper 2020.2ヘルプ

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

設定レイヤーを管理する

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ReSharper: Editing a single settings layer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

新しいバージョンの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 | Windows | ファイルフォーマット情報)の現在のファイルに影響するかを見ることができます。ReSharperは、EditorConfig形式で定義されたコード形式スタイル、コード構文スタイル、C#の命名...

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

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

ネーミングスタイル

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

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

ReSharper | 編集 | コードの再フォーマットコードスタイルの重要な点は、コードの書式設定方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。ReSharperコードのフォーマットルールの豊富なセットには、デフ...

オプション

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

設定レイヤーダイアログ

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