ReSharper 2020.1ヘルプ

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に保存し、別のマシンで使用することができます。

  • Preferences from different setting files are applied as layers so that if the same setting has different values in different setting files the value from the 'upper' layer is used. This allows you to override settings defined in a specific setting file instead of changing them in this file.
    Consider the following example:
    Suppose you prefer to use BSD style brackets, and keep this formatting preference in your personal settings. But then you start working on a specific solution where GNU style brackets are used by a convention — ReSharper allows you to change the corresponding formatting preference and save it in a solution-specific setting layer so that it overrides your personal preference and applied as long as you work on this solution. When you open another solution, you personal preference is applied again.

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

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

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

This settings layer is designated for your personal global settings and applies for all solutions on your local machine.
The corresponding settings file is saved as: %APPDATA%\JetBrains\Shared\vAny\GlobalSettingsStorage.DotSettings

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

This layer is designated for common settings that enforce your team preferences for the current solution , for example naming style, formatting rules, etc . Settings in this layer override settings in このコンピューター layer.
The corresponding settings file <SolutionName>.sln.DotSettings is saved in the solution folder.
As soon as this file is added to your VCS and the team members get it, they will have settings from this file applied automatically without reloading the solution.

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

This layer allows you to override team-shared settings without changing them. You may find this helpful if you need to have some settings applied only in this solution and independently of your team.
The corresponding settings file <SolutionName>.sln.DotSettings.user is saved in the solution folder. You should not add it to your VCS.

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

default and modified setting layers

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

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

Each time you change some setting in in the オプション dialog, a message with the number of unsaved setting appear in the bottom of the dialog.

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

保存 (スマートセーブ)

This applies the 'smart save' logic.
Use it to save your modifications and keep team-shared and/or custom layers (if any) intact. In other words, use 保存 if you just want to save your changes without bothering about setting layers.
保存 will save your changes to 'This computer' setting layer, then — if there are other values for the modified settings in the 'Solution team-shared' and/or custom layers — the changes will also be saved to the 'Solution personal' layer to override values in other layers.

Consider the example in the illustration below. Suppose you changed three settings and had 'green' instead of ‘blue’ values; these changes were saved in 'This computer' layer. Then, your team has decided to have settings A and C ‘yellow’ within your team-shared solution, so these values were saved by a team-lead in the 'Solution team-shared' layer, ReSharper applied them as soon as you pulled changes from your VCS. Finally, you realized that you felt more comfortable with the ‘green’ value for setting A, and you changed and saved it again, this time it was also saved in the 'Solution personal' layer, which allowed you to have the desired value applied without changing the team-shared layer:

Applying and overriding ReSharper settings

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

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

The only catch with saving a setting to a specific layer is that it may NOT be applied if the same setting is defined with another value anywhere in other layers above in the stack of layers. The illustration below shows how we tried to change setting C to ‘red' in 'This computer' layer and why the resulting setting failed to be changed.

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 設定レイヤーダイアログ , available in the Visual Studio menu ( ReSharper | オプションの管理 ) and in the オプション dialog (by clicking the 管理 button).

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

As soon as a custom setting layer is added, it appears in the 次へ保存 selector in the オプション dialog, using which you can save modified settings to the custom layer. You can also modify settings in this layer by editing this layer.

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

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

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

    • Click レイヤーを追加する ThemedIcon AddedParameter Screen Gray png, then click 設定ファイルの作成 to create a new empty setting layer or 設定ファイルを開く to include an existing setting layer either from your filesystem or from any URI.

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

  3. Depending on the selected command, either specify a name and location for the new setting layer file, or select an existing setting layer file with .DotSettings extension.

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

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

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

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

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

    • Click レイヤーの編集 ThemedIcon Settings Screen Gray png.

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

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

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

    ReSharper: Editing a single settings layer

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

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

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

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

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

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

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

    • On the toolbar, click インポート/エクスポート ThemedIcon ImportExportLayer Screen Gray png, then click ファイルへエクスポート

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

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

As an alternative to adding a custom setting layer, you can copy a subset of settings from this custom layer to one of the existing default or custom layers.

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

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

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

    • On the toolbar, click インポート/エクスポートの設定 ThemedIcon ImportExportLayer Screen Gray png. Depending on the location of the file to be imported, click ファイルからインポート or URL からインポート

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

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

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

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

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

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

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

    • On the toolbar, click コピー先の設定 ThemedIcon CopySettings Screen Gray png, then select the target setting layer.

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

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

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

Moreover, you can reset all settings in all predefined layers and unmount all custom setting layers, thus returning all settings to their default values. To do so, click すべての設定をリセットする ThemedIcon ResetLayer Screen Gray png on the toolbar.

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

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

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

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

However, even if a settings file was upgraded, it can still be used with older ReSharper versions (for example, if you share this file with your teammates who didn't upgrade), because the deprecated settings are neither changed nor removed. Among other things, this means that you can safely commit changes in the automatically upgraded .dotSettings files to your VCS.

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

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

最終更新日: 2020年7月08日

関連ページ:

EditorConfigを使用する

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウ(ReSharper | Windows | ファイルフォーマット情報)の現在のファイルに影響するかを見ることができます。ReSharperは、EditorConfig形式で定義されたコード形式スタイル、コード構文スタイル、C#の命名...

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

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

ネーミングスタイル

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

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

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

オプション

ReSharper | オプションオプションダイアログはReSharper設定の中心的な場所です。左上隅にある検索ボックスを使用して、目的の設定を見つけることができます。設定は、次のカテゴリで構成されています。このセクションの記事を閲覧するには、目次ナビゲーションを使用してください。ターゲットC#バ...

設定レイヤーダイアログ

ReSharper | オプションの管理ReSharper | オプション | 管理The設定レイヤーdialog is the central control panel formanaging ReSharper options. It displays all settings layers