[オプション]、[テキスト エディター]、[C#]、[詳細]

[詳細] オプションを使って、C# のエディターの書式設定、コードのリファクタリング、および XML ドキュメントのコメントの設定を変更します。 このオプション ページにアクセスするには、[ツール]>[オプション] を選び、さらに [テキスト エディター]>[C#]>[詳細] の順に選びます。

Note

ここには、すべてのオプションが一覧されていない可能性があります。

分析

  • バックグラウンド コード分析の対象:

    次のオプションの 1 つを選択します。

    オプション Description
    なし すべてのアナライザーとそれに対応するコード修正は無効になります。

    コンパイラ診断とそれに対応するコード修正は、"すべての開かれている" ドキュメントで有効になります。
    現在のドキュメント (既定値) すべてのアナライザーは、現在アクティブなドキュメントに対してのみ実行されます。

    コンパイラ診断は、"すべての開かれている" ドキュメントで有効になります。
    開かれているドキュメント すべてのアナライザーとコンパイラ診断は、"すべての開かれている" ドキュメントで有効になります。
    ソリューション全体 すべてのアナライザーとコンパイラ診断は、ドキュメントが開かれているか閉じられているかに関係なく、ソリューションの "すべての" ドキュメントで有効になります。

Using ディレクティブ

  • using を並べ替える際に、'System' ディレクティブを先頭に配置する

    選択した場合、右クリック メニューの [using の削除と並べ替え] コマンドによって using ディレクティブが並べ替えられ、'System' 名前空間が一覧の先頭に置かれます。

    並べ替える前:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    並べ替えた後:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using AutoMapper;
    using FluentValidation;
    using Newtonsoft.Json;
    
  • ディレクティブ グループを使用して分離します

    選択した場合、右クリック メニューの [using の削除と並べ替え] コマンドによって、同じルート名前空間を持つディレクティブのグループの間に空の行を挿入することで、using ディレクティブが分離されます。

    並べ替える前:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    並べ替えた後:

    using AutoMapper;
    
    using FluentValidation;
    
    using Newtonsoft.Json;
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
  • .NET Framework アセンブリの型に using を提案する

  • NuGet パッケージの型に using を提案する

    これらのオプションを選択した場合、クイック アクションを使用して NuGet パッケージをインストールし、参照されていない型の using ディレクティブを追加できます。

    Quick Action to install NuGet package in Visual Studio

  • 不足している using ディレクティブを貼り付け時に追加する

    このオプションが選択されているとき、型をファイルに貼り付けると、using ディレクティブがコードに自動追加されます。

強調表示

  • カーソルの下にあるシンボルへの参照をハイライトする

    シンボル内にカーソルを置いたり、シンボルをクリックしたりすると、コード ファイル内のそのシンボルのすべてのインスタンスが強調表示されます。

アウトライン

  • [ファイルが開かれたときにアウトライン モードを実行する]

    選択すると、コードの折りたたみ可能なブロックを作成するコード ファイルが自動的にアウトラインになります。 初めてファイルが開かれると、#regions ブロックとアクティブでないコード ブロックが折りたたまれます。

  • プロシージャ行の区切り記号を表示する

    テキスト エディターに、プロシージャのスコープが表示されます。 プロジェクトの .cs ソース ファイルで、次の表に示す場所に線が表示されます。

    .cs ソース ファイル内の場所 線が表示される場所の例
    ブロック宣言構造の後 - クラス、構造体、モジュール、インターフェイス、または列挙型の最後
    - プロパティ、関数、または sub の後
    - プロパティの get 句と set 句の間は対象外
    一連の単一行構造 - import ステートメントの後、クラス ファイルの型定義の前
    - クラスで宣言されている変数の後、プロシージャの前
    単一行宣言 - Import ステートメント、Inherits ステートメント、変数宣言、イベント宣言、デリゲート宣言、および DLL の Declare ステートメントの後

ブロック構造のガイド

コードの中かっこ ({}) の間に垂直の点線を表示するには、このチェック ボックスをオンにします。 これで、宣言レベルとコード レベルのコンストラクト用のコード ブロックを簡単に確認できます。

コメント

  • /// が入力されたとき、XML ドキュメントのコメントを生成する

    オンにすると、/// コメント イントロダクションを入力した後に、XML ドキュメント コメントの XML 要素が挿入されます。 XML ドキュメントの詳細については、「XXML ドキュメント コメント (C# プログラミング ガイド)」を参照してください。

メソッドの抽出

  • カスタム構造体に ref または out を設定しない

    メソッド呼び出しに式を抽出するときに既存の構造体オブジェクトを参照することで、構造体の意図しない可能性のある複製を回避するには、このチェック ボックスをオフにします。

    コードに次の classstruct が存在するとします。

    public struct CustomStruct
    {
        private int Count;
    
        public int Bump => ++Count;
    }
    
    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i += cs.Bump;   // select this line
        }
    }
    

    [カスタム構造体に ref または out を設定しない] オプションがオフの場合、"メソッドの抽出" 機能によって以下が生成されます。

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           NewMethod(ref cs, ref i);
        }
    
        private static void NewMethod(ref CustomStruct cs, ref int i)
           => i += cs.Bump;
    }
    

    [カスタム構造体に ref または out を設定しない] オプションがオンの場合、"メソッドの抽出" 機能によって以下が生成されます。

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i = NewMethod(cs, i);
        }
    
        private static int NewMethod(CustomStruct cs, int i)
        {
           i += cs.Bump;
           return i;
        }
    }
    

インラインのヒント

  • インライン パラメーター名ヒント

    選択されると、関数呼び出しの各引数の前に、リテラル、型変換されたリテラル、オブジェクト インスタンス化のパラメーター名ヒントが挿入されます。

    Inline Parameter Name Hints for CSharp

  • インライン型ヒント

    選択すると、推論された型とラムダ パラメーター型を持つ変数の型ヒントが挿入されます。

    Inline Type Hints for CSharp

継承の余白

  • 選択すると、コードの実装とオーバーライドを表すアイコンが余白に追加されます。 [Inheritance Margin](継承の余白) アイコンをクリックすると、移動先として選択できる継承オプションが表示されます。

    Inheritance Margin

関連項目