重构 C++ 代码
Visual Studio Code 中的 C/C++ 扩展具有多种重构功能,可帮助您改进代码的结构、可读性和可维护性,而不会改变其运行时行为。这些功能包括提取方法以及创建声明和定义等。
创建声明或定义
允许 C/C++ 扩展为您生成这些项,从而简化创建函数声明或定义的过程。此功能适用于成员函数、作为类的命名空间以及模板。
要创建函数声明或定义,请通过以下方式之一:
- 选择您的类函数定义,选择代码操作(灯泡图标),然后选择 创建声明。类似地,要创建定义,选择函数声明,选择代码操作,然后选择 创建定义。
- 右键单击函数的声明或定义,然后从上下文菜单中选择 创建定义/声明。根据您的代码,将创建一个定义或声明。
- 选择函数,然后使用 命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)),并输入命令 创建声明/定义。根据您的代码,将创建一个定义或声明。
定义和声明创建的位置基于您在代码中建立的先前模式。例如,如果您之前在同一个文件中添加了定义和声明,扩展也会将新的定义和声明添加到同一个文件中。函数顺序会自动维护。
如果您在与源文件不同的文件中定义了声明或定义,扩展会遵循您的约定。例如,对于名称匹配的头文件和源文件,即使源文件中未包含头文件,也会识别它们。在这种情况下,一旦添加了声明或定义,头文件会自动在您的源文件中为您引用。
否则,扩展会为您创建一个与当前文件同名的新头文件或源文件。这个新文件包含已生成的新声明或定义。然后,新文件会自动在您的当前文件中被引用。
对于模板,如果在头文件中声明了函数模板,则该函数模板的定义将在同一个头文件中创建。这也适用于类模板的非模板成员函数。
复制声明或定义
如果您想选择在代码中添加声明或定义的位置,可以使用代码操作 复制声明/定义。这会将声明或定义添加到剪贴板,而不是直接添加到您的代码中。
要调用代码操作,请选择一个可使用快速修复的函数,然后选择代码操作(灯泡图标),并选择 复制 ‘YourFunctionName’ 的定义 或 复制 ‘YourFunctionName’ 的声明。
提取到方法
提取方法重构功能允许您将代码块提取到单独的方法中,以帮助提高代码可读性、减少重复并使代码更具模块化。
要提取方法,选择要提取的 C++ 代码块,选择代码操作(灯泡图标),然后选择 提取到函数。或者,右键单击代码并选择 重构 > 提取,或使用键盘命令(在 Windows 上为 Ctrl + Shift + R, Ctrl + E
)获取更多信息。
然后您可以为创建的新函数命名。包含您所选代码的新函数将放置在当前函数之上。
快速修复/代码操作
C/C++ 扩展根据您的代码上下文提供特定于 C/C++ 的建议,以帮助您修复和改进 C++ 代码。您可以通过将鼠标悬停在符号上并选择 快速修复 链接,或通过选择代码旁边出现的代码操作(灯泡图标)来查看这些建议。例如,如果一段代码可以提取到方法中,选择灯泡图标将显示“提取到方法”。除了上面提到的功能外,C/C++ 扩展还在以下情况提供快速修复/代码操作:
添加缺失的头文件
如果您的 C++ 代码中存在未知符号,并且 C/C++ 扩展在您的工作区中识别出了正确的头文件,现在可以使用快速修复。选择快速修复,所需头文件的 include 指令将添加到当前 C++ 文件的顶部。
下一步
继续阅读以了解有关以下内容:
如果您有其他问题或遇到任何问题,请在 GitHub 上提交问题。您可能需要提供扩展的日志信息以帮助诊断问题。有关提供扩展日志的信息,请参阅 C/C++ 扩展日志记录。