选项,文本编辑器,C/C++,高级

通过更改这些选项,你可以在用 C 或 C++ 进行编程时更改与 IntelliSense 和浏览数据库有关的行为。

若要访问此页,请在“选项”对话框的左窗格中,展开“文本编辑器”,再展开“C/C++”,然后选择“高级”

注意

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 请参阅个性化设置 Visual Studio IDE

大括号完成

为类型添加分号

在类型的右大括号后面插入分号。

完成原始字符串文本中的圆括号

如果在原始字符串文本中键入左括号,则将使用右括号完成该文本。

完成多行注释

将完成多行注释(以 /* 开头的注释)。

浏览数据库回退

回退位置指不使用主位置(与解决方案位于同一目录)时 SDF 和 IntelliSense 支持文件(例如,iPCH)所在的位置。 当用户无权写入到解决方案目录或者解决方案目录位于一个慢速设备上时,可能会出现这种情况。 默认回退位置位于用户的临时目录中。

始终使用回退位置

指示代码浏览数据库和 IntelliSense 文件应该始终存储在指定为“回退位置”的文件夹中,而不是和 .sln 文件存储在一起。 IDE 永远不会尝试将 SDF 或 iPCH 文件与解决方案目录放在一起,并且始终使用回退位置。

如果已使用回退位置,则不警告

如果已使用“回退位置”,则不会发出通知或提示。 通常,IDE 会告知你是否必须使用回退位置。 此选项将关闭该警告。

回退位置

此值用作存储代码浏览数据库或 IntelliSense 文件的备用位置。 默认情况下,临时目录为回退位置。 IDE 将在指定路径(或临时目录)下创建一个子目录,该子目录包含解决方案名称以及解决方案完整路径的哈希,从而避免产生解决方案名称相同的问题。

浏览/导航

除在极少数情况下,比如解决方案太大以致数据库活动占用过多的系统资源,否则不应选择以下选项。

禁用数据库

禁止使用代码浏览数据库 (SDF)、所有其他浏览/导航选项和所有 IntelliSense 功能(#include 自动完成除外)。

禁用数据库更新

数据库在只读状态下打开,编辑文件时不执行任何更新。 大多数功能仍然可用。 但是,进行编辑时,数据会变得陈旧,从而使获得的结果不正确。

禁用数据库自动更新

修改源文件时,代码浏览数据库不自动更新。 但是,如果依次打开解决方案资源管理器、项目的快捷菜单,然后选择“重新扫描解决方案”,则会检查所有过期文件,并更新数据库。

禁用隐式文件

代码浏览数据库不为未在项目中指定的文件收集数据。 项目包含显式指定的源文件和头文件。 隐式文件包含在显式文件(例如,afxwin.h、windows.h 和 atlbase.h)中。 通常情况下,系统会查找这些文件,还会针对各种浏览功能(包括“导航到”)为这些文件编制索引。 如果选择此选项,则不会为这些文件编制索引,从而无法对其使用某些功能。 如果选择此选项,还将隐式选择“禁用隐式清理”和“禁用外部依赖项”。

禁用隐式清理

代码浏览数据库不清理不再引用的隐式文件。 此选项将阻止从数据库中删除不再使用的隐式文件。 例如,如果将引用 mapi.h 的 #include 指令添加到某个源文件中,系统会找到 mapi.h 并为其编制索引。 之后如果删除 #include,并且不在其他位置引用该文件,那么除非选择此选项,否则最终将删除其相关信息。 (请参阅“重新扫描解决方案间隔”选项。)显式重新扫描解决方案时会忽略此选项。

禁用外部依赖项文件夹

不为每个项目创建或更新外部依赖项文件夹。 在解决方案资源管理器中,每个项目均包含一个外部依赖项文件夹,而该文件夹包含该项目的所有隐式文件。 如果选择此选项,则不显示该文件夹。

重新创建数据库

当下一次加载解决方案时,从头开始重新创建代码浏览数据库。 如果选择此选项,将在下一次加载解决方案时删除 SDF 数据库文件,从而导致重新创建数据库,并为所有文件编制索引。

重新扫描解决方案间隔

根据指定间隔计划“立即重新扫描解决方案”作业。 指定的间隔必须介于 0 到 5000 分钟之间。 默认值为 60 分钟。 重新扫描解决方案时,将检查文件时间戳以确定文件是否已在 IDE 外更改。 (自动跟踪在 IDE 中所做的更改,并更新文件。)检查隐式包含的文件以确定其是否仍被引用。

禁用浏览最新检查

在执行浏览操作时,禁止等到代码浏览数据库更新到最新。

禁用当前项选择

禁用“属性”工具窗口和其他位置中所选代码元素的可视化效果。

显示外部文件的已跳过区域

包括在显示浏览数据库错误时在外部文件中跳过的区域。

代码分析

禁用 C++ 代码分析体验

禁用 C++ 代码分析体验,它为代码分析波形曲线、后台代码分析和 C++ 文件的其他功能提供支持。

禁用后台代码分析

禁止在打开或保存文件时在后台运行 C++ 代码分析。

禁用代码分析波形曲线

禁用 C++ 代码分析警告的波形曲线。 错误将继续显示在错误列表中。 仅影响新打开的窗口。

诊断日志记录

Microsoft 要求用户收集高级信息以诊断问题时会提供以下选项。 日志记录信息对用户而言毫无用处,因此建议保留其禁用状态。

启用日志记录

对输出窗口启用诊断日志记录。

日志记录级别

设置日志详细级别(从 0 到 5)。

日志记录筛选器

使用位掩码筛选显示的事件类型。

通过以下诸多选项进行设置:

  • 0 - 无

  • 1 - 常规

  • 2 - 空闲

  • 4 - WorkItem

  • 8 - IntelliSense

  • 16 - ACPerf

  • 32 - ClassView

IntelliSense

自动快速信息

在将指针移到文本上时,启用快速信息工具提示。

禁用 IntelliSense

禁用所有 IntelliSense 功能。 IDE 不创建 VCPkgSrv.exe 进程来处理 IntelliSense 请求,所有 IntelliSense 功能都无法正常工作(快速信息、成员列表、自动完成、参数帮助)。 同时禁用语义着色和引用突出显示。 此选项不会禁用只依赖数据库的浏览功能(包括导航栏、ClassView 和“属性”窗口)。

禁用自动更新

IntelliSense 更新将会延迟,直至发出 IntelliSense 的实际请求。 第一次对文件执行 IntelliSense 操作时,此延迟可能会导致其执行时间延长,但在非常慢或资源受限的计算机上设置此选项可能很有用。 如果选择此选项,还将隐式选择“禁用错误报告”和“禁用波形曲线”选项。

禁用错误报告

禁止通过波形曲线和“错误列表”窗口报告 IntelliSense 错误。 同时禁用与错误报告相关联的后台分析。 如果选择此选项,还将隐式选择“禁用波形曲线”选项。

禁用波形曲线

禁用 IntelliSense 错误波形曲线。 红色“波形曲线”不会出现在编辑器窗口中,但错误仍然在“错误列表”窗口中显示。

自动调整缓存的最大转换单元数

基于可用的系统 RAM 启用在任一时刻为 IntelliSense 请求保持活动状态的最大转换单元数。

有关转换单元的详细信息,请参阅转换阶段

禁用 #include 自动完成

禁用 #include 语句的自动完成。

在 #include 自动完成中使用正斜杠

使用“/”时触发 #include 语句的自动完成。 默认分隔符为反斜杠“”。 编译器两者均可接受,因此可使用此选项指定基本代码所使用的分隔符。

禁用主动成员列表

键入类型或变量的名称时不显示成员列表。 如“成员列表提交字符”选项中所定义,此列表仅在键入某个提交字符后显示。

禁用成员列表关键字

voidclassswitch 等语言关键字不出现在成员列表建议中。

禁用成员列表代码片段

代码片段不出现在成员列表建议中。

成员列表筛选模式

设置匹配算法的类型。 “模糊”查找最可能的匹配项,因为它使用类似于拼写检查器的算法来查找相似但不完全相同的匹配项。 “智能筛选”匹配子字符串,无论其是否位于单词的开头。 “前缀”仅匹配单词开头的相同子字符串。

禁用语义着色

关闭所有代码着色(语言关键字、字符串和注释除外)。

成员列表提交字符

指定使系统提交当前突出显示的成员列表建议的字符。 可以在此列表中添加或删除字符。

智能成员列表提交

选择 Enter 键时在完整键入的单词末尾添加一行。

主动提交成员列表

“主动调用”成员列表期间活跃的“成员列表提交字符”。

对自动成员列表使用主动成员列表

启用并显示自动成员列表时,请勿使用成员列表提交字符完成。

在主动成员列表中使用 Tab 提交

启用并显示自动成员列表时,将 Tab 键视为成员列表提交字符。

使用 Tab 插入代码片段

如果启用,则按 Tab 时,无论是否显示成员列表,都会展开代码片段关键字(除非快捷键已分配到 Edit.InvokeSnippetFromShortcut)。

禁用模块

禁用各种 C++20 模块 IDE 功能,例如为 IntelliSense 自动生成所需模块。

成员列表筛选器不可访问

不在成员列表中显示不可访问的项。

禁用非活动平台的 IntelliSense

禁用文件夹和共享资产项目中非活动平台的所有 IntelliSense 功能。

启用成员列表的点到箭头替换

当可用于成员列表时,将“.”替换为“->”。

禁用 HLSL IntelliSense

禁用 HLSL IntelliSense 的所有功能。

禁用自动预编译标头

自动预编译标头可能会加快 IntelliSense 操作速度,但每个解决方案都会产生硬盘缓存。

自动预编译标头缓存配额

每个解决方案的最大缓存(以 GB 单位);实际使用情况可能会围绕此值波动。

非活动平台 IntelliSense 限制

将为 IntelliSense 处理的最大非活动平台数。 该值必须介于 1 至 16 之间。

启用模板 IntelliSense

当光标在模板正文内处于活动状态时,在编辑器中显示配置模板 IntelliSense 的栏。

启用“快速信息”上的帮助链接

启用快速信息工具提示上的联机搜索链接。

使用“快速信息帮助链接”上的 Web 搜索

使用指定的搜索提供程序启动 Web 搜索作为快速信息工具提示中的联机搜索操作。 当禁用时,它使用 F1 帮助。

启用“IntelliSense 错误”工具提示上的帮助链接

启用 IntelliSense 错误工具提示上的联机搜索链接。

搜索提供程序

用于查找错误相关联机帮助的 URL,{0} 将替换为错误

适用于非项目文件的 IntelliSense 和浏览

启用增强型单一文件

为不属于现有项目的独立文件启用 IntelliSense 浏览和其他功能。

启用 IntelliSense 波形曲线

在“增强型单一文件”模式下为独立文件启用波形曲线。

在错误列表中显示 IntelliSense 错误

控制来自独立文件的 IntelliSense 错误是否显示在错误列表中。

调试过程中挂起新文件

调试时挂起为最近打开的文件启用 IntelliSense 的操作。

重构

禁用创建声明/定义灯泡

请不要提供创建丢失函数声明或定义的建议。

参考

禁用解析

出于性能方面的原因,“查找所有引用”默认显示原始文本搜索结果,而不是使用 IntelliSense 来验证每个候选结果。 若要使所有查找操作获得更准确的结果,可以清除此复选框。 若要按每个搜索进行筛选,请打开结果列表的相应快捷菜单,然后选择“解析结果”。

隐藏未确认项

隐藏“查找所有引用”结果中的未确认项。 如果未设置“禁用解析”选项,则可以使用此选项来隐藏结果中的未确认项。

禁用引用突出显示

默认情况下,选择某些文本时,相同文本的所有实例都会在当前文档中自动突出显示。 可以通过将“禁用引用突出显示”设置为“True”来禁用此功能

文本编辑器

启用大括号包围

如果启用,你可以用大括号将所选文本括起来,方法是在文本编辑器中输入“{”。

启用圆括号包围

如果启用,你可以用括号将所选文本括起来,方法是在文本编辑器中输入“(”。

请参阅