阅读并理解 Visual Studio 中的 C++ 代码

C++ 代码编辑器和 Visual Studio IDE 提供许多编码帮助。 有些为 C++ 所独有,有些实质上对于所有 Visual Studio 语言均相同。 有关共享功能的详细信息,请参阅在代码和文本编辑器中编写代码

着色

Visual Studio 对语法元素进行着色,以区分语言关键字、类型名称、变量名称、函数参数、字符串文本等符号类型。

Screenshot showing code colorization in the editor. Keywords are shown in different colors such as blue for if, while and green for comments

未使用的代码(例如 #if 0 下的代码)颜色更淡。

Screenshot showing inactive code in the editor, which appears faded compared to active code.

在“快速启动”中键入“字体”,然后选择“字体和颜色”,即可自定义颜色。 在“字体和颜色”对话框中,向下滚动到 C/C++ 选项,然后选择自定义字体和/或颜色。

大纲显示

右键单击源代码文件中的任意位置,然后选择“大纲显示”以折叠或展开代码块和/或自定义区域,以便更轻松地仅浏览你感兴趣的代码。 有关详细信息,请参阅大纲显示

Screenshot of the outlining window shows the body of classes collapsed. Options for Collapse to Definitions, Toggle All Outlining, etc. are visible.

在将光标放到大括号“{”或“}”前面时,编辑器会突出显示其匹配的对应内容。

其他大纲显示选项位于主菜单中的“大纲显示”>“修改”下 。

行号

转到“工具”>“选项”>“文本编辑器”>“所有语言”>“常规”或使用“快速启动(Ctrl + Q)”搜索“行号”,即可为项目添加行号。 可以为所有语言或仅针对特定语言(包括 C++)设置行号。

滚动和缩放

按 Ctrl 键并使用鼠标滚轮滚动,即可放大或缩小编辑器。 还可以使用左下角中的缩放设置进行缩放。

Screenshot of the Zoom Control in the lower left of the screen. It's a dropdown with various zoom options like 133%.

滚动条“映射模式”使你能快速滚动和浏览整个代码文件,而无需离开当前位置。 可以单击代码图上的任意位置,以直接转至该位置。

Screenshot of the Code Map which shows an outline of the entire file on the right and a window displaying the code from the selected part of the map.

要开启“映射模式”,请在主工具栏的“快速启动”搜索框中键入“映射”,然后选择“使用滚动映射模式”。 有关详细信息,请参阅如何:通过自定义滚动条来跟踪代码

“映射模式”关闭后,滚动条仍会突出显示你在文件中所做的更改。 绿色表示已保存的更改,黄色表示未保存的更改。

快速信息和参数信息

将鼠标悬停在任何变量、函数或其他符号上,即可以获取相关信息,包括声明以及位于其前面的任何注释。

Screenshot of the Quick Info tooltip displaying the definition of a function that the user is hovering over in the code window.

“快速信息”工具提示具有“联机搜索”链接。 转到“工具”>“选项”>“文本编辑器”>“C++”>“视图”,以指定搜索提供程序 。

如果代码中存在错误,可以将鼠标悬停在该代码上,“快速信息”将随即显示错误消息。 还可以在“错误列表”窗口中找到该错误消息。

Screenshot of the Quick Info tooltip showing the error associated with a code squiggle.

Screenshot showing the Quick Info tooltip in Visual Studio 2017.

如果代码中存在错误,可以将鼠标悬停在该代码上,“快速信息”将随即显示错误消息。 还可以在“错误列表”窗口中找到该错误消息。

Screenshot of the Quick Info tooltip showing the error associated with a code squiggle.

调用函数时,“参数信息”显示参数类型及其预期顺序。

Screenshot of parameter info showing the parameters for the function resize on vector v. The parameter info is: const size_t _Newsize, const int & _Val.

查看定义

将鼠标悬停在变量或函数声明上,右键单击,然后选择“查看定义”,无需离开当前位置,即可查看其定义的内联视图。 有关详细信息,请参阅查看定义 (Alt+F12)

Screenshot of the drop-down that appears when you right-click a function. Peek Definition appears in the menu along with the shortcut Alt + F 12.

F1 帮助

将光标置于任意类型、关键字或函数的上方或后面,然后按 F1,以便直接转到 Microsoft Learn 上相关的参考主题。 F1 也适用于错误列表和许多对话框中的项。

类视图

“类视图”显示所有代码符号及其范围和父级/子级层次结构的可搜索树集,并且按每个项目进行整理。 可以在“类视图设置”中配置“类视图”的显示内容(单击窗口顶部的齿轮箱图标)

Screenshot of the Class View window displaying the classes in the project such as CipherFactory, FilterTester, and so on.

生成包含文件的关系图

右键单击项目中的代码文件,然后选择“生成包含文件的关系图”以查看其他文件包含哪些文件的关系图

Screenshot of a graph of include files. The graph shows that NAMSPACE DLL .CPP includes Namespace DLL .h, which includes V_10 .H, among other files.

查看调用层次结构

右键单击任意函数调用并查看它调用的所有函数和所有调用它的函数的递归列表。 列表中的每个函数都能以相同方式展开。 有关详细信息,请参阅调用层次结构

Screenshot of the Call Hierarchy window which shows calls to and from Floating_to_wstring(). For example, to_wstring() calls Floating_to_wstring().

另请参阅

编辑和重构代码 (C++)
在 Visual Studio 中导航 C++ 代码库
使用适用于 C++ 的 Live Share 进行协作