选项,文本编辑器,C#,高级
可使用“高级”选项页修改 C# 的编辑器格式设置、代码重构设置和 XML 文档注释设置。 要访问此选项页,请选择“工具”>“选项”,然后选择“文本编辑器”>“C#”>“高级” 。
备注
并非所有选项都会在此处列出。
分析
对以下项运行后台代码分析...
选择以下选项之一:
选项 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
指令分隔开来。排序前:
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
指令。粘贴时添加缺少的 using 指令
选择此选项后,将类型粘贴到文件时,
using
指令将自动添加到代码中。
Highlighting
突出显示对光标下符号的引用
光标定位在符号内,或单击某个符号时,将突出显示代码文件中该符号的所有实例。
大纲显示
打开文件时进入大纲模式
选中后,会自动大纲显示代码文件,这将创建可折叠代码块。 首次打开文件时,#region 块和非活动代码块处于折叠状态。
显示过程行分隔符
文本编辑器指示过程的可视范围。 在项目的 .cs 源文件中,在下表列出的位置处绘制行:
.cs 源文件中的位置 行位置示例 在块声明构造结束之后 - 在类、结构、模块、接口或枚举的末尾
- 在属性、函数或子类之后
- 不在属性中的 get 和 set 子句之间在一组单行构造之后 - 在类文件中的导入语句之后,在类型定义之前
- 在类中声明的变量之后,在所有过程之前在单行声明(非块级声明)之后 - 在导入语句、继承语句、变量声明、事件声明、委托声明和 DLL 声明语句之后
块结构指南
如果选中这些复选框,可以在代码中的大括号 ({}) 之间显示虚竖线。 然后,就可以轻松查看声明级构造和代码级构造的各个代码块了。
注释
为 /// 生成 XML 文档注释
选中后,在键入
///
命令说明后为 XML 文档注释插入 XML 元素。 有关 XML 文档的详细信息,请参阅 XML 文档注释(C# 编程指南)。
提取方法
不要在自定义结构上放置 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 或 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; } }
内联提示
内联参数名称提示
如果选择此项,则会在函数调用中的每个参数之前插入文本、强制转换文本和对象实例化的参数名称提示。
内联类型提示
选中后,为具有推断类型和 lambda 参数类型的变量插入类型提示。
继承边距
如果选择此项,则会向表示代码的实现和替代的边距添加图标。 单击“继承边距”图标将显示可以选择导航到的继承选项。