フォーマットルールを構成する
フォーマットルールは非常に高いレベルの詳細に設定できます。 例: 特定の演算子の周囲に空白を配置するか、入れ子になった using 文をインデントするかを定義できます。
オプションでコードフォーマットルールを構成する
メインメニューから を選択するか、 Alt+R O を押します。
ページを使用して、すべての言語で適用されるオプションを確認し、設定します。
ページを使用して、言語固有のフォーマットを構成します。 これらのページでは、下部のプレビュー領域を使って、ReSharper が特定の環境設定をコードにどのように適用するかを表示できます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
選択したコードのフォーマットルールを構成する
設定ページを掘り下げる代わりに、コードのブロックを選択し、そのブロックに適用できるフォーマット規則のみを構成できます。 変更された設定が、エディターで選択したブロックのコードにどのように影響するかを確認できます。
エディターで、フォーマットするコードのブロックを選択します。
Alt+Enter を押して、 を選択します。
開いたダイアログに、選択したコードブロックに影響を与えるすべての構文スタイルとフォーマット規則が表示されます。 コードブロック自体は点線のフレームで囲まれます。

フォーマットルールを変更すると、選択したブロックのコードにどのように影響するかがわかります。
ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
保存先 セレクターで .editorconfig を選択して、 構成済みのフォーマットルールを EditorConfig にエクスポートすることも選択できることに注意してください。
必要に応じて、 コメントとして保存 をクリックします。 こうすることで、変更内容は選択したブロックの前後に コメントとして保存されます。 これにより、設定を変更せずに、必要なフォーマットルールをローカルでオーバーライドできます。
ReSharper はダイアログを閉じ、変更されたフォーマットルールをコードブロックに適用します。
既存のコードから書式ルールを学ぶ
個別のフォーマット環境設定を調整する代わりの方法として、既存のコードサンプルからフォーマット規則を学習することもできます。サンプルは、選択したブロック、現在のファイル、ファイルのセット、1 つ以上のプロジェクト、またはソリューション全体にできます。 ReSharper は選択したサンプルを分析し、現在の設定と異なるフォーマット規則を一覧表示します。 その後、検出されたルールを確認し、必要に応じて変更し、 設定レイヤー または .editorconfig や .clang-format 構成ファイルに保存できます。
フォーマット設定を分析するスコープを選択します。
エディターで選択を行い、選択範囲のフォーマット設定を分析します。
ファイル内の任意の場所にキャレットを配置して、ファイル内のフォーマットを分析します。
ソリューションエクスプローラー で 1 つ以上のアイテムを選択して、これらのアイテムとその子アイテムにあるファイルのフォーマット設定を分析します。
次のいずれかを実行します。
メインメニューから を選択します。
コードサンプルが選択項目の場合は、 Alt+Enter を押して を選択します。
現在の設定と異なる規則を確認してください。

ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
コードサンプルが選択されている場合は、必要に応じて コメントとして保存 をクリックします。 こうすることで、変更内容は選択したブロックの前後に コメントとして保存されます。 これにより、設定を変更せずに、必要なフォーマットルールをローカルでオーバーライドできます。
コメントを使用してフォーマッターを構成する
ReSharper では、実際にルールを変更することなく、設定済みのフォーマット規則から逸脱することができます。 コードの特定の部分でフォーマッタを完全に無効にすることもできます。
フォーマッタは、C#、C++、JavaScript、TypeScript、HTML、Protobuf のコメントで設定できます。
フォーマッタを無効にするには、次のコメントを使用します。
// @formatter:off— この行の後のフォーマッタを無効にする// @formatter:on— この行の後にフォーマッタを有効にする
フォーマッタを無効にしすぎると、個々のフォーマットルールをコメントで変更できます。
コメントを使用して個々の書式ルールを変更する
調整したいフォーマットルールの名前を探してください。 ReSharper オプション Alt+R、O の ページで調べるか、目的のルールが適用されるコードブロックを選択し、 Alt+Enter を押して、 選択のフォーマット | 構成 を選択します。 表示されるダイアログで、選択範囲に影響するすべてのルールを確認したり、それらを変更して変更内容のライブプレビューを見ることができます。 このダイアログで コメントとして保存 をクリックすると、ReSharper が変更されたすべてのルール用のコメントを生成します。 .
ルールの名前が分かっている場合は、 EditorConfig プロパティのインデックス でその ID を調べてください。ブラウザーの検索を利用してください。 たとえば、セミコロンの前にスペースを入れるルールを探したい場合は、 before semicolon と検索すると、ID を見つけることができます:
space_before_semicolon。インデックスの Web ページでルールの ID を見つけたら、説明リンクをクリックして、このルールに許可されている値を確認します。
space_before_semicolonの例に従って、trueまたはfalseを 受け入れることができます。ルールを変更するコードの前に、次のコメントを追加します。
// @formatter:<rule_ID> <value>例: セミコロンの前のスペースを有効にするには、次を追加します。
// @formatter:space_before_semicolon true.
ルールの新しい値は、ファイルの終わりまで適用されます。 オプション で設定されている値に戻りたい場合は、次のコメントを追加してください:
// @formatter:<rule_ID> restoreたとえば、次のようになります。
// @formatter:space_before_semicolon restore.
フォーマットルールを保存および共有する
レイヤーベースの設定のメカニズムを使用して、コードのフォーマットを保存します。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
フォーマットは、すべての言語については EditorConfig 、C++、JavaScript、TypeScript については Clang 形式を使用して構成できます。 これらの設定は、ソリューション階層の異なるレベルにある .editorconfig 、 .clang-format 、 _clang-format ファイルに保存できます。 これらのファイルは通常 VCS に配置され、そこで定義された設定がプロジェクトチーム間で共有されます。
ReSharper を使うと、ReSharper の オプション ダイアログで利用できる任意のフォーマット環境設定を EditorConfig で定義できます。 サポートされている EditorConfig プロパティの名前と説明は、 EditorConfig リファレンスにあります。
Clang-Format については、ReSharper では サポートされている Clang-Format オプションのみ適用します。
.editorconfig ファイルで定義されているフォーマットプロパティは、この .editorconfig ファイルが適用されるスコープで、ReSharper 設定で同じプロパティが定義されている場合、それをオーバーライドすることに注意してください。 Clang-Format で定義されたフォーマットプロパティは、ReSharper 設定と EditorConfig 設定の両方をオーバーライドします。
フォーマットオプションを共有するときに知っておくべきもう 1 つの重要な点は、インデントスタイル (タブ / スペース) とサイズがデフォルトで Visual Studio オプションから取得されることです。 特定の言語でこれらの環境設定を共有したい場合は、ReSharper オプション の インデントスタイルとサイズを Visual Studio から使用する チェックボックスをオフにして、変更を共有設定レイヤーに保存してください。 Alt+R、O
フォーマットのトラブルシューティング
独自の設定、Visual Studio 設定、自動検出設定、EditorConfig、Clang-Format など、フォーマット設定を構成する方法は多数あります。 これにより構成が非常に柔軟になりますが、 コードの再フォーマット後に予期しない結果が得られた場合、フォーマット設定が実際にどこから来ているのかを理解するのが難しい場合があります。
現在のファイルのフォーマットに影響する設定と構成ファイルを調べるには、メニューから を選択します。

ここでは、現在開いているファイルのコードスタイル設定の起源を調べることができます。
インデントのソースとその値。
インデント設定の自動検出のステータス。
現在のファイルに影響する EditorConfig サポートとすべての .editorconfig ファイルのステータス。
現在のファイルに影響を与える StyleCop サポートおよび StyleCop ファイル ( RuleSet および Settings.StyleCop ) のステータス。