ReSharper 2019.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

設定レイヤーの管理

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

カスタム設定レイヤーは、既存のデフォルトレイヤーに追加されます。たとえば、カスタムレイヤーの設定をすべてのソリューションに適用する場合は、このコンピューターレイヤーに追加します。それ以外の場合は、チーム共有設定を無効にするかどうかによって、ソリューション固有のレイヤーの1つに追加します。

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

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

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

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

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

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

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

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

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

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

  2. 以下のいずれか 1 つを実行します:
    • レイヤーの編集 ThemedIcon Settings Screen Gray をクリックします。

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

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

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

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

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

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

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

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

  2. 以下のいずれか 1 つを実行します:
    • ツールバーで、インポート/エクスポート ThemedIcon ImportExportLayer Screen Gray をクリックし、ファイルへエクスポートをクリックします。

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

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

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

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

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

  2. 以下のいずれか 1 つを実行します:
    • ツールバーで、インポート/エクスポートの設定 ThemedIcon ImportExportLayer Screen Gray をクリックします。インポートするファイルの場所に応じて、ファイルからインポートまたはURL からインポートをクリックします。

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

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

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

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

あるレイヤーから別のレイヤーに設定をコピーするには

  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を同時に使用している場合は、あるバージョンで変更された設定が別のバージョンで正しく読み取られるかどうかを確認し、正しくない場合は別のバージョンでもう一度同じ変更を加えます。

最終更新日: 2019年8月16日

関連事項

関連ページ:

プロジェクト固有のプロパティーの設定

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

ネーミングスタイル

バージョン2018.3から始まって、ReSharperは既存のコードからC#シンボルの命名規則を自動的に学習できます。命名規則を手動で設定したい場合は、ReSharperオプションのコード編集 | C# | ネーミングスタイルページの自動検出ルールを使用するチェックボックスをクリアしてください。Re...

コードの書式設定ルールの管理と適用

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

オプション

オプションダイアログはReSharper設定の中心的な場所です。左上隅にある検索ボックスを使用して、目的の設定を見つけることができます。設定は、次のカテゴリで構成されています。環境、コード・インスペクション、コード編集、ツール、いくつかのプロジェクト固有のプロパティー。例: ターゲットC#バージョン...

設定レイヤーダイアログ

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

テンプレートの保存

ReSharperのコードテンプレートに関する興味深い点の1つは、分散ストレージです。コードテンプレートは、社内組織の詳細を十分に理解していなくても、使用して管理するのに優秀に動作します。ただし、テンプレートの編集や共有に問題が発生したり、複雑な使用シナリオが発生した場合は、これらの詳細を調べる必要...