重构 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++ 扩展在您的工作区中识别出正确的头文件,则现在可以使用快速修复。 选择快速修复,必要的头文件包含项将添加到您当前 C++ 文件的顶部。
后续步骤
请继续阅读以了解:
如果您有任何其他问题或遇到任何问题,请在 GitHub 上提交问题。 您可能会被要求提供扩展的日志记录信息,以帮助诊断问题。 请参阅 C/C++ 扩展日志记录,以获得有关提供扩展日志的帮助。