コード構文スタイル: ファイルスコープの名前空間
C# 10 以降、単一の名前空間を含むファイルで ファイルスコープの名前空間宣言を使用できます。
ファイルスコープまたはブロックスコープの名前空間宣言を使い続けたい場合は、ReSharper で 環境設定を構成し、コードベース全体で設定の一貫性を保つことができます。
ReSharper は、既存のコードでファイルスコープの名前空間に関する環境設定を強制でき、新しいコードを コード補完や コード生成機能を使って作成するとき、 コードテンプレートを適用したり リファクタリングを行う際にも、その環境設定を考慮します。
ファイルスコープの名前空間の設定を適用する
ReSharper は、ファイル内の個々の名前空間が 環境設定に準拠しているかどうかをチェックでき、準拠していない場合は該当する宣言を ハイライトし、対応する クイックフィックスや スコープ内修正を提案します。 デフォルトの 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 オプション Alt+R、O の ページに移動します。
コード本体 の下にある 名前空間 オプションを見つけて、 ファイルスコープ型 または ブロックスコープ型 を選択します。
右側の列の 通知する セレクターを使って、環境設定と異なるコードを検出する 重要度レベルや コードインスペクションを設定できます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
また、対応する問題がハイライトされているエディターで、名前空間宣言の設定を変更することもできます。
エディターから名前空間宣言スタイルの設定を変更する
ReSharper のインスペクションでハイライトされたコードの問題にキャレットを合わせます。
Alt+Enter を押すか、キャレットの左側にある アクションインジケーターをクリックして アクションリストを開きます。
アクションリストで インスペクション " 優先される名前空間本体スタイルを使用します ..." | コードスタイルを設定する を選択し、希望の設定を選択します。

変更は、 スマートセーブロジックを使用して保存されます。
変更したスタイル環境設定を 共有設定レイヤーに保存する場合は、 コードスタイルを設定する メニュー項目をクリックするか、選択した状態で Enter を押してください。 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 ファイルを開きます。
必要な 名前空間宣言スタイルのプロパティをファイルに追加します。 たとえば、次のようになります。
namespace_body = file_scoped
この機能は、次の言語とテクノロジーで サポートされています。