次の方法で共有


コード スタイルの基本設定とコードのクリーンアップ

コード スタイルの基本設定を使用すると、インデント スタイル、タブの幅、行末文字、エンコード、その他の多くの書式設定の選択肢など、コードの側面を制御できます。 コード スタイルの設定は、次の 2 つの方法で定義できます。

[コード クリーンアップ] コマンドと [ドキュメントの書式設定] コマンドを使用して、コード スタイルの基本設定を適用するように Visual Studio を構成することもできます。

EditorConfig ファイルを使用するか、テキスト エディターの .NET オプション ページまたは C/C++ オプション ページで Visual Studio で編集するすべてのコードに対して、プロジェクトごとのコード スタイル設定を定義できます。 C# コードの場合は、 コード クリーンアップ (Visual Studio 2019) コマンドと ドキュメントの書式設定 (Visual Studio 2017) コマンドを使用して、これらのコード スタイルの基本設定を適用するように Visual Studio を構成することもできます。

EditorConfig ファイルのコード スタイル

コード スタイルの設定は、 EditorConfig ファイルをプロジェクトに追加することで指定できます。 EditorConfig ファイルは、Visual Studio パーソナル化アカウントではなく、コードベースに関連付けられます。 EditorConfig ファイルの設定は、[ オプション] ダイアログ ボックスで指定されているコード スタイルよりも優先されます。 リポジトリまたはプロジェクトのすべての共同作成者にコーディング スタイルを適用する場合は、EditorConfig ファイルを使用します。 これらは、チーム のプログラミング環境で一貫性を確保するために特に便利です。

EditorConfig ファイルを追加するには、「 EditorConfig ファイルを追加する方法」を参照してください。

.NET コード スタイル設定のリファレンス情報については、「 コード スタイルの設定」を参照してください。

[オプション] ダイアログ ボックスの C/C++ コード スタイル

インデントや中かっこの位置など、個別のコード書式設定オプションを多数指定できます。 これを行うには、 Tools>Options>Text Editor>C/C++>Code Style>Formatting に移動します (または 「Ctrl + Q 」と入力して「書式設定」を検索します)。 または、 いずれかの ClangFormat スタイル (または独自のカスタム ClangFormat スタイル) を指定することもできます。

[テキスト エディター] の [オプション] ウィンドウのスクリーンショット。

インデントや中かっこの位置など、個別のコード書式設定オプションを多数指定できます。 そのためには、 Tools>Options>Text Editor>C/C++>Formatting に移動します (または 、「Ctrl + Q 」と入力して「書式設定」を検索します)。 または、 いずれかの ClangFormat スタイル (または独自のカスタム ClangFormat スタイル) を指定することもできます。

すべての書式設定オプションの詳細については、「 オプション、テキスト エディター、C/C++、書式設定」を参照してください。

[オプション] ダイアログ ボックスの .NET コード スタイル

[ツール] メニューから [オプション] ダイアログ ボックスを開くと、すべての C# および Visual Basic プロジェクトに対してコード スタイルの基本設定を設定できます。 [オプション] ダイアログ ボックスで、[テキスト エディター] > [C# または Visual Basic] >Code スタイルを選択します。

  • 書式設定スタイルの場合は、[書式設定] でオプション を選択します
  • クイック アクションと IDE コード スタイル ルールに関連付けられているコード スタイルの基本設定では、[全般] または [名前付け] でオプションを選択します。

[ツール] メニューから [オプション] ダイアログ ボックスを開くと、すべての C# および Visual Basic プロジェクトに対してコード スタイルの基本設定を設定できます。 [オプション] ダイアログ ボックスで、[テキスト エディター] > [C# または基本] >Code Style>General を選択します。

オプションを選択すると、一覧の各項目にユーザー設定のプレビューが表示されます。

コード スタイル オプションのスクリーンショット。

コード スタイル オプションのスクリーンショット。

このウィンドウで設定されたオプションは、Visual Studio パーソナル化アカウントに適用でき、特定のプロジェクトまたはコードベースには関連付けられません。 また、継続的インテグレーション (CI) ビルドを含め、ビルド時には適用されません。 コード スタイルの基本設定をプロジェクトに関連付け、ビルド中にスタイルを適用する場合は、プロジェクトに関連付けられている EditorConfig ファイル で基本設定を指定します。

基本設定と重大度

[ 全般 ] および [ 名前付け ] オプション ページのコード スタイル設定ごとに、各行のドロップダウンを使用して 基本設定重大度 の値を設定できます。 重大度は、 リファクタリングのみ提案警告、または エラーに設定できます。

  • [全般] および [名前付け] オプション ページのコード スタイルの基本設定によって、コード スタイルのクイック アクションが決まります。 [クイック アクション] 電球、エラー電球、またはドライバー アイコンは、優先しないスタイルが使用されている場合に表示され、[クイック アクション] ボックスの一覧でオプションを選択して、コードを優先スタイルに自動的に書き換えることができます。
  • 違反をクイック アクションとしてのみ表示し、コードクリーンアップからも除外する場合は、[ 重大度 ] を [ リファクタリングのみ] に設定します。
  • 違反を [エラー一覧] ウィンドウとクイック アクションに表示し、コードのクリーンアップに含める場合は、[ 重大度 ] を [ 提案]、[ 警告]、または [エラー] に設定します。 [エラー一覧] ウィンドウの出力を ビルド + IntelliSense に設定すると、違反は提案 (メッセージ)、警告、またはエラーとして表示されます。 これらは ビルド のみの出力から除外されます。

EditorConfig ファイルの設定は、これらのページで設定されたコード スタイルよりも優先されます。

ビルド時にコード スタイルを適用する

.NET 5.0 RC2 SDK を含む Visual Studio 2019 バージョン 16.8 以降では、すべての . NET プロジェクトのビルドに .NET コーディング規則を適用 できます。 ビルド時に、.NET コード スタイル違反は、"IDE" プレフィックスを持つ警告またはエラーとして表示されます。 これにより、コードベースで一貫性のあるコード スタイルを厳密に適用できます。

コード スタイルを適用する

[オプション] ページでコード スタイルを変更するか、Visual Studio でプロジェクトに EditorConfig ファイルを追加すると、新しい設定に基づいて新しいコード行のみが書式設定されます。 次のいずれかのコマンドを実行しない限り、既存のコードの書式設定は変更されません。

  • コードのクリーンアップ

    Visual Studio エディターで [コード クリーンアップ] を選択するか、Ctrl+K、Ctrl+キーを押します。 このコマンドは、インデントスタイルなどの空白文字の設定や、かっこの選択項目などのコードスタイル設定に適用されます。

  • 文書の書式を設定します。

    編集>Advanced>Format Document を選択するか、既定のプロファイルで Ctrl+KCtrl+D キーを押します。 このコマンドは、インデント スタイルなどの空白の設定にのみ適用されます。

コード クリーンアップを使用してコード スタイルを適用する

EditorConfig ファイルまたは [ コード スタイル ] オプション ページからコード スタイルを適用するには、エディターの下部にある [ コードクリーンアップ ] ボタンを使用します (キーボード: Ctrl+KCtrl+E)。 プロジェクトの EditorConfig ファイルが存在する場合は、それが優先される設定です。

ヒント

[ リファクタリングのみ ] の重大度で構成された .NET ルールは、コードのクリーンアップには参加しませんが、[ クイック アクションとリファクタリング] メニューを使用して個別に適用できます。

コード スタイルを適用するには:

  1. まず、[コード クリーンアップの構成] ダイアログ ボックスで、適用するコード スタイルを (2 つのプロファイルのいずれかで) 構成 します。 このダイアログ ボックスを開くには、コード クリーンアップ のほうきアイコンの横にある展開矢印をクリックし、[ コード クリーンアップの構成] を選択します。 または、[ 分析>Code クリーンアップ ] メニューを使用します。

    コード クリーンアップの構成のスクリーンショット。

    .NET コード クリーンアップ修正プログラムと .NET コード スタイル ルールのマッピングについては、 .NET コードのクリーンアップ設定に関するセクションを参照してください。

    C/C++ オプションには、修正プログラムの名前に C++ が含まれます。

  2. コードクリーンアップを構成したら、次のいずれかの方法を使用してコードクリーンアップを実行します。

    • ほうきアイコンをクリックするか、Ctrl+K、Ctrl+キーを押します。

      コードのクリーンアップの実行のスクリーンショット。

    • プロジェクトまたはソリューション全体でコード クリーンアップを実行するには、 ソリューション エクスプローラーでプロジェクトまたはソリューション名を右クリックし、[ 分析とコード のクリーンアップ] を選択して、[ コードクリーンアップの実行] を選択します。

      プロジェクト全体またはソリューション全体でコードクリーンアップを実行するスクリーンショット。

  3. (省略可能)ファイルを保存するたびにコード スタイルの設定を適用する場合は、[オプション]、[>>] の順に移動し保存時に [コード クリーンアップ プロファイルの実行] を選択します。

C# コード ファイルの場合、Visual Studio のエディターの下部に コード クリーンアップ ボタン (キーボード: Ctrl+KCtrl+E) があり、EditorConfig ファイルまたは [コード スタイル ] オプション ページからコード スタイルを適用します。 プロジェクトの EditorConfig ファイルが存在する場合は、それが優先される設定です。

ヒント

重大度 が None で構成されたルールは、コードのクリーンアップには含まれませんが、[ クイック アクションとリファクタリング] メニューを使用して個別に適用できます。

コード スタイルを適用するには:

  1. まず、[コード クリーンアップの構成] ダイアログ ボックスで、適用するコード スタイルを (2 つのプロファイルのいずれかで) 構成 します。 このダイアログ ボックスを開くには、コード クリーンアップ のほうきアイコンの横にある展開矢印をクリックし、[ コード クリーンアップの構成] を選択します。

    コード クリーンアップの構成のスクリーンショット。

  2. コードクリーンアップを構成したら、次のいずれかの方法を使用してコードクリーンアップを実行します。

    • ほうきアイコンをクリックするか、Ctrl+K、Ctrl+キーを押してコードクリーンアップを実行します。

      コードのクリーンアップの実行のスクリーンショット。

    • プロジェクトまたはソリューション全体でコード クリーンアップを実行するには、 ソリューション エクスプローラーでプロジェクト名またはソリューション名を右クリックし、[ 分析とコード クリーンアップ] を選択してから、[ コード クリーンアップの実行] を選択します。

      プロジェクト全体またはソリューション全体でコードクリーンアップを実行するスクリーンショット。

    ファイルを保存するたびにコード スタイルの設定を適用する場合は、[ 保存時のコード クリーンアップ ] 拡張機能を使用できます。

.NET コードのクリーンアップ設定

ほとんどのコード クリーンアップ設定は、EditorConfig でサポートされている 1 つ以上の .NET コード スタイルにマップされます。 設定の効果を示す例については、次の表のリンクを使用します。

設定 ルール ID またはスタイル オプション
不要なインポートまたは使用を削除する IDE0005
インポートまたは using の並べ替え dotnet_sort_system_directives_first
dotnet_separate_import_directive_groups
ファイル ヘッダーの基本設定を適用する ファイルヘッダーテンプレート
未使用の変数を削除する CS0219
オブジェクト作成の基本設定を適用する Visual Basic スタイル簡易的オブジェクト作成を推奨
IsNot 基本設定を適用する Visual Basic スタイルで "IsNot" 式を好む
'this' または 'Me' の修飾子を追加する IDE0003-IDE0009
アクセシビリティ修飾子を追加する dotnet_style_require_accessibility_modifiers (アクセス修飾子の必要性を指定するスタイル)
順序変更子 IDE0036
フィールドを読み取り可能にする dotnet_style_readonly_field
不要なキャストを削除する IDE0004
オブジェクト/コレクション初期化パラメーターを適用する) dotnet_style_object_initializer
ディレクティブ配置の基本設定を使用して適用する csharp_using_directive_placement
かっこのプリファレンスを適用する IDE0047-IDE0048
未使用の値の基本設定を適用する IDE0058
言語/フレームワークの種類の基本設定を適用する IDE0049
未使用の抑制を削除する dotnet_remove_unnecessary_suppression_exclusions
ブール式の基本設定の簡略化を適用する dotnet_style_prefer_simplified_boolean_expressions
文字列補間の基本設定を適用する dotnet_style_prefer_simplified_interpolation
未使用のパラメーターを削除する dotnetコード品質の未使用パラメータ
自動プロパティの設定を適用する dotnet_style_prefer_auto_properties(自動プロパティを優先するオプション)
複合代入の基本設定を適用する dotnet_style_prefer_compound_assignment
結合式の基本設定を適用する dotnet_style_coalesce_expression
条件式の基本設定を適用する dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
タプル名の基本設定を適用する dotnet_style_explicit_tuple_names
dotnet_style_prefer_inferred_tuple_names
推定された匿名型メンバー名の基本設定を適用する dotnet_style_prefer_inferred_anonymous_type_member_names
null チェックの設定オプションを適用する dotnet_style_prefer_is_null_check_over_reference_equality_method
ヌル伝播の設定を適用する dotnet_style_null_propagation(.NETにおけるヌル伝播スタイル)
'var' の基本設定を適用する IDE0007-IDE0008
1 行の制御ステートメントに必要な中かっこを追加する csharp_ブレースを優先する
式/ブロック本文の基本設定を適用する 式形式のメンバー
インライン 'out' 変数の基本設定を適用する CSharp スタイルのインライン変数宣言
パターン マッチングの基本設定を適用する パターン マッチングの基本設定
条件付きデリゲート呼び出しの基本設定を適用する csharp_style_conditional_delegate_call
静的ローカル関数の基本設定を適用する C#_静的ローカル関数の優先使用
デコンストラクトの設定を適用する Cシャープスタイルデコンストラクト変数宣言
default(T) 基本設定を適用する C#でシンプルなdefault式を好む
new() 環境設定を適用する csharp_style_implicit_object_creation_when_type_is_apparent(型が明白な場合のC#スタイル:暗黙的なオブジェクト生成)
範囲の基本設定を適用する csharp_style_prefer_range_operator (C#スタイル範囲演算子を好む)
匿名関数の基本設定に対してローカル関数を適用する csharp_style_pattern_local_over_anonymous_function
パラメーターの null 設定を適用する "Null" 検査設定
ステートメントの基本設定を使用して適用する csharp_単純なusingステートメントを好む
スロー式に関する設定を適用する csharp_style_throw_expression