ReSharper 2018.3ヘルプ

ReSharper設定の管理と共有

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

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

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

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

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

  • 異なる設定ファイルの設定はレイヤーとして適用されるため、同じ設定が異なる設定ファイルで異なる値を持つ場合は、'upper'レイヤーの値が使用されます。これにより、このファイルで変更するのではなく、特定の設定ファイルで定義された設定を上書きすることができます。
    次の例を考えてみましょう。
    BSDスタイル角括弧を使い、個人設定でこの書式の設定を保持したいとします。しかし、GNUスタイルの角括弧が慣習で使われている特定のソリューションに取り掛かります - ReSharperは、対応するフォーマット設定を変更して、ソリューション固有の設定レイヤーに保存して、個人的な好みを無効にし、この解決策に取り組んでいます。別のソリューションを開くと、個人設定が再度適用されます。

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

出荷時の状態では、ReSharperには既定の設定が含まれています。これは、.NETの世界における慣例とベストプラクティスに基づいています。これらのデフォルト設定は製品にハードコードされており、必要に応じていつでもデフォルトにリセットできます。設定を変更すると、変更は設定レイヤーに保存され、ReSharperはそれを適用して対応するデフォルト設定を上書きします。当初、ReSharperは3つのレイヤーを提案していました。そこにあなたの好みを保存することができます:このコンピューターSolution team-shared、およびパーソナルソリューション

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

この設定レイヤーはあなたの個人的なグローバル設定用に指定されており、ローカルマシン上のすべてのソリューションに適用されます。
対応する設定ファイルは %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. 設定レイヤーダイアログで、レイヤーを追加するデフォルトのレイヤーの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回目の設定をアップグレードしません。したがって、変更した設定の一部が古い形式で保存され、新しいバージョンでは読み取られないことがあります。

したがって、あなた(またはあなたのチーム)が異なるバージョンのReSharperを同時に使用している場合は、あるバージョンで変更された設定が別のバージョンで正しく読み込まれているかどうかをチェックし、そうでない場合は、バージョン。

最終更新日: 2019年2月19日

関連事項