ReSharper 2024.1 ヘルプ

ReSharper 設定の管理と共有

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

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

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

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

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

  • 異なる設定ファイルの設定はレイヤーとして適用されるため、同じ設定が異なる設定ファイルで異なる値を持つ場合、'upper' レイヤーの値が使用されます。これにより、このファイルで変更するのではなく、特定の設定ファイルで定義された設定を上書きすることができます。

    次の例を考えてみましょう。

    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

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

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

ReSharper オプションダイアログで設定を変更するたびに、未保存の設定の数を示すメッセージがダイアログの下部に表示されます。

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 | オプションの管理 ) および ReSharper オプションダイアログ ( 管理ボタンをクリックすることにより) で利用可能な設定レイヤーダイアログを提供します。

ReSharper. 'Setting Layers' dialog

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

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

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

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

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

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

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

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

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

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

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

  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 は、EditorConfig 形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。Matthell は、ReSharper が EditorConfig を使用してフォーマットルールの設定全体をどのように維持するのをヘルプいるかを示しています。EditorConfig とは何ですか? ReSharper はどのようにそれを拡張しますか? :EditorConfig は、同じコードで作業しているチームメ...

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

ReSharper の設定のメインセット(ReSharper | オプションダイアログで設定)は、グローバルまたはソリューションごとに適用されます。各プロジェクトまたはフォルダーごとに個別に設定できる環境設定もあります。これらの設定は、プロジェクトアイテムのプロパティポップアップで利用できます。プロジェクトアイテムのプロパティポップアップは、ソリューションエクスプローラーでプロジェクトのコンテキストメニューからプロジェクト項目のプロパティを編集するを選択して呼び出すことができます。他の ReSh...

ネーミングスタイル

ReSharper は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、サフィックス、プレフィックスなどの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。これらのルールは、ReSharper がコード補完およびコード生成機能を使用して新しいコードを生成し、コー...

フォーマットルールを適用する

編集および貼り付けられたコードの自動フォーマット:エディターでコードを入力すると、セミコロンを入力するとすぐに ReSharper によって式が再フォーマットされ、閉じ括弧を入力するとすぐにコードブロックが再フォーマットされます必要に応じて、ReSharper オプション Alt+R, O のページでこれらの種類の自動フォーマットを無効にすることができます。ReSharper では、コードを貼り付けるときにフォーマットルールを自動的に適用することもできます。デフォルトでは、貼り付けられたコードは完...

ReSharper オプション

オプションダイアログは、ReSharper 構成設定の中心地です。左上隅の検索フィールドを使用して、目的の設定を見つけることができます。ターゲット C# バージョンなど、一部のプロジェクト固有のプロパティは、Visual Studio のプロパティウィンドウの ReSharper プロパティグループで構成されます。管理をクリックして、ReSharper 設定を管理および共有します。InspectCode コマンドラインツール一般...

ライセンス情報を指定する

ReSharper は、国際法に基づきコピーライトで保護された有償ソフトウェア製品です。製品の各コピーにはライセンスが必要です。新規ユーザーの場合、ReSharper は 30 日間の無料評価期間を提供します。この期間中は、製品のすべての機能を楽しんで、ニーズに合っているかどうかを判断できます。ライセンス情報ダイアログに、評価版の残り日数が表示されます。評価期間後に製品を使用する場合は、ReSharperWeb サイトでライセンスを取得し、次のいずれかの方法でライセンス情報を指定する必要がありま...