使用 “高级 选项”页可修改 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
指令。在粘贴时添加缺少 using 指令
选择此选项后,将类型粘贴到文件时,
using
指令将自动添加到代码中。
突出
突出显示对光标下符号的引用
当光标定位在符号内或单击某个符号时,代码文件中该符号的所有实例都会突出显示。
概述
打开文件时进入大纲显示模式
选中后,会自动概述代码文件,该文件可创建可折叠的代码块。 首次打开文件时,#regions 块和非活动代码块折叠。
显示过程行分隔符
文本编辑器指示过程的可视范围。 在项目 .cs 源文件中绘制了下表中列出的位置的线条:
.cs源文件中的位置 行位置示例 块声明构造关闭后 - 类、结构、模块、接口或枚举的末尾
- 属性、函数或子属性之后
- 不在属性中的 get 和 set 子句之间在一组单行构造之后 - 导入语句之后,在类文件中的类型定义之前
- 在类中声明变量之后,在任何过程之前单行声明后(非块级声明) - 遵循 import 语句、继承语句、变量声明、事件声明、委托声明和 DLL 声明语句
块结构参考线
选中这些复选框可显示代码中大括号 ({}) 之间的虚线。 然后,可以轻松查看声明级别和代码级构造的各个代码块。
注释
为 /// 生成 XML 文档注释
选中后,在键入注释简介后插入 XML 文档注释的
///
XML 元素。 有关 XML 文档的详细信息,请参阅 XML 文档注释(C# 编程指南)。
Extract 方法
不要在自定义结构上放置 ref 或 out
取消选中此复选框,以避免在将表达式提取到方法调用中时,通过重新引用现有结构对象来避免有力地意外地克隆结构。
示例:
在代码中应提供以下内容
class
并struct
存在: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; } }
内联提示
内联参数名称提示
选中后,在函数调用中的每个参数之前插入文本、强制转换文本和对象实例化的参数名称提示。
内联类型提示
选中后,为具有推断类型和 lambda 参数类型的变量插入类型提示。
继承边距
选中后,将图标添加到表示代码实现和重写的边距。 单击继承边距图标将显示可以选择导航到的继承选项。