コードの構文スタイル: オプションの括弧
多くの場合、式の括弧はオプションです。 Sometimes they help you clarify precedence of operations — for example if ((a & b) | c). Sometimes, however, they do not help at all and only add clutter — var d = a + (b + c);. ReSharper will help you define where optional parentheses are helpful to you, and then either clean up the redundant parentheses or automatically add missing ones where necessary.
ReSharper は、既存のコード内の省略可能な丸括弧の配置をサポートし、 コード補完や コード生成機能で新しいコードを生成するときに環境設定を考慮します。また、 コードテンプレートの適用や リファクタリングの実行にも対応します。
オプションの括弧の設定を強制する
デフォルトで、ReSharper は操作の優先順位を明確にしない丸括弧をハイライトし、削除をサポートします:

同様に、わかりにくい演算の優先順位についても通知し、オプションで括弧を追加してコードを読みやすくすることを提案します。

バルクモードで省略可能な丸括弧の環境設定を適用する別の方法は、 コードのクリーンアップです。 組み込みプロファイル フルクリーンアップまたは 再フォーマットして構文スタイルを適用のいずれかを使用して コードクリーンアップを実行するか、後述するように、特定のタスクのみを対象とした カスタムプロファイルを作成して実行することができます。
コードのクリーンアップでオプションの括弧の設定を適用する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
新しいカスタムクリーンアッププロファイルを作成する セクションの説明に従って、新しいプロファイルを作成します。 右側のプロファイル設定で、 ノードを展開し、 冗長な丸括弧を削除 と オペレーションの優先順位を明示的に指定するために丸括弧を追加する チェックボックスをオンにします。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
設定を適用する範囲を選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。
ソリューションエクスプローラー 内の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。
次のいずれかを実行します。
Control+Alt+F を押すか、メインメニューから を選択してください。
テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。
表示された コードのクリーンアップ ダイアログで、新しく作成したプロファイルを選択します。
実行 をクリックします。 ReSharper は、選択したスコープで環境設定を適用します。
コードのクリーンアップ ダイアログを開いてプロファイルを選択せずに省略可能な丸括弧を配置したい場合、作成したプロファイルを サイレントクリーンアップにバインドし、 Control+Shift+Alt+F を押して実行できます。 オプションの括弧スタイルの適用と他のコードスタイルタスクを組み合わせた カスタムクリーンアッププロファイルを作成することもできます。
省略可能な丸括弧の環境設定を、全ての フォーマットおよび 構文スタイルルールと一緒に選択したコードブロックに適用するには、 Alt+Enter を押し、 を選択します。
変更をファイルに保存するたびにオプションの括弧を配置して、編集が常にコードスタイルに準拠するようにすることができます。
変更を保存するときにオプションの括弧を自動的に配置する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
カスタムコードのクリーンアッププロファイルを選択し、 デフォルトに設定する をクリックします(デフォルトプロファイルは サイレントクリーンアップにも使用されます)。
オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。
オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。
ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。
部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。
共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。
ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
次回編集を終了してファイル( Ctrl+S )またはすべてのファイル( Ctrl+Shift+S )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。
オプションの括弧の設定を構成する
オプションの括弧の設定は、 レイヤーベースの設定のメカニズムを使用して保存されます。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
ReSharper オプションで設定を構成する
ReSharper オプション Alt+R、O の ページに移動します。
丸括弧 カテゴリでは、重複する括弧を削除するかどうか、および明示的な優先順位を持たない操作を考慮する必要があるかどうかを指定します。
右側の列の 通知する セレクターを使って、環境設定と異なるコードを検出する 重要度レベルや コードインスペクションを設定できます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
構文スタイルの設定は、すべての言語では EditorConfig 、C++、JavaScript、TypeScript では Clang 形式で行うことができます。 これらの設定は、ソリューション階層の異なるレベルにある .editorconfig 、 .clang-format 、 _clang-format ファイルに保存できます。 これらのファイルは通常 VCS に配置され、そこで定義された設定がプロジェクトチーム間で共有されます。
ReSharper では、EditorConfig を使って ReSharper の オプション ダイアログで設定できる構文スタイルの環境設定を定義できます。 サポートされている EditorConfig プロパティの名前と説明は、 EditorConfig リファレンスにあります。
Clang-Format については、ReSharper では サポートされている Clang-Format オプションのみ適用します。
.editorconfig ファイルで定義された構文スタイルプロパティは、この .editorconfig ファイルが適用されるスコープ内で ReSharper 設定で定義された同じプロパティをオーバーライドする点にご注意ください。 Clang-Format で定義されたフォーマットプロパティは、ReSharper 設定と EditorConfig 設定の両方をオーバーライドします。
EditorConfig を使用してオプションの括弧スタイルの設定を構成する
目的の .editorconfig ファイルを開きます。
必要な オプションの括弧スタイルプロパティをファイルに追加します。 たとえば、次のようになります。
parentheses_redundancy_style = remove_if_not_clarifies_precedence