选项、文本编辑器、C#、高级

使用 “高级 选项”页可修改 C# 的编辑器格式设置、代码重构和 XML 文档注释。 若要访问此选项页,请选择 “工具>选项”,然后选择 “文本编辑器>C#>高级”。

注释

并非所有选项都列在此处。

分析

  • 运行 ... 的后台代码分析

    选择以下选项之一:

    选项 DESCRIPTION
    没有 禁用所有分析器和相应的代码修复。

    所有 打开 的文档上都启用了编译器诊断和相应的代码修复。
    当前文档(默认值) 所有分析器仅在当前活动文档上运行。

    所有 打开 的文档上都启用了编译器诊断。
    打开文档 所有打开的文档上都启用了 所有 分析器和编译器诊断。
    整个解决方案 无论打开还是关闭,解决方案 中的所有 文档都启用了所有分析器和编译器诊断。

Using 指令

  • 在对 using 进行排序时先放置“System”指令

    选中后,右键单击菜单中的 “删除和排序 Usings ”命令对指令进行排序 using ,并将“系统”命名空间置于列表顶部。

    排序前:

    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 指令组

    选中后,右键单击菜单中的 “删除和排序 Usings ”命令通过插入具有相同根命名空间的指令组之间的空行来分隔 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 程序集中的类型使用

  • 建议对 NuGet 包中的类型使用

    选择这些选项后,可以使用 快速作 来安装 NuGet 包,并为未引用的类型添加 using 指令。

    在 Visual Studio 中安装 NuGet 包的快速作

  • 在粘贴时添加缺少 using 指令

    选择此选项后,将类型粘贴到文件时, using 指令将自动添加到代码中。

突出

  • 突出显示对光标下符号的引用

    当光标定位在符号内或单击某个符号时,代码文件中该符号的所有实例都会突出显示。

概述

  • 打开文件时进入大纲显示模式

    选中后,会自动概述代码文件,该文件可创建可折叠的代码块。 首次打开文件时,#regions 块和非活动代码块折叠。

  • 显示过程行分隔符

    文本编辑器指示过程的可视范围。 在项目 .cs 源文件中绘制了下表中列出的位置的线条:

    .cs源文件中的位置 行位置示例
    块声明构造关闭后 - 类、结构、模块、接口或枚举的末尾
    - 属性、函数或子属性之后
    - 不在属性中的 get 和 set 子句之间
    在一组单行构造之后 - 导入语句之后,在类文件中的类型定义之前
    - 在类中声明变量之后,在任何过程之前
    单行声明后(非块级声明) - 遵循 import 语句、继承语句、变量声明、事件声明、委托声明和 DLL 声明语句

块结构参考线

选中这些复选框可显示代码中大括号 ({}) 之间的虚线。 然后,可以轻松查看声明级别和代码级构造的各个代码块。

注释

  • 为 /// 生成 XML 文档注释

    选中后,在键入注释简介后插入 XML 文档注释的 /// XML 元素。 有关 XML 文档的详细信息,请参阅 XML 文档注释(C# 编程指南)。

Extract 方法

  • 不要在自定义结构上放置 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 或输出到自定义结构”选项,则“提取方法”功能将生成以下内容:

    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 或输出到自定义结构”选项,则“提取方法”功能将生成以下内容:

    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;
        }
    }
    

内联提示

  • 内联参数名称提示

    选中后,在函数调用中的每个参数之前插入文本、强制转换文本和对象实例化的参数名称提示。

    CSharp 的内联参数名称提示

  • 内联类型提示

    选中后,为具有推断类型和 lambda 参数类型的变量插入类型提示。

    CSharp 的内联类型提示

继承边距

  • 选中后,将图标添加到表示代码实现和重写的边距。 单击继承边距图标将显示可以选择导航到的继承选项。

    继承边距

另请参阅