如何在 VS Code 中提取 C/C++ 函数、方法和变量?

use*_*627 5 c c++ visual-studio-code

当我单击右键在 C++ 文件编辑器中打开上下文菜单时,没有“提取方法/成员函数”或“提取变量”操作。

这是我从 YouTube 上看到的一张照片,其中这些操作存在于 Python 文件的上下文菜单中。

但是当我使用 C/C++ 文件时,我的上下文菜单中没有此类操作。这是我的上下文菜单的屏幕截图

这是我的 VS Code 版本信息

sta*_*all 2

您在 Python 扩展中看到的内容就在那里,因为 Python 扩展贡献了该功能(文档)。

\n

在撰写本文时,vscode-cpptools 扩展尚不支持此功能,但它位于其分类队列中:提取函数/成员函数\n#1162添加对提取变量重构的支持#10930您可以通过对问题点赞来表达您对问题单的支持。但请不要发表“我也是”的评论。“我也是”的评论通常会让回购维护者感到厌烦,因为它们扰乱了讨论并且没有贡献任何重要的价值。

\n

还可以考虑投票支持 Visual Studio 功能请求:C++:添加提取变量重构

\n

该问题票证之前正在等待它所依赖的另一项更改:添加从声明生成定义的功能,反之亦然\n#664,该更改已于 2022-12-07 完成关闭

\n

v1.18.0更新

\n

该扩展现在具有对提取函数的初步/实验支持。有许多已知的错误正在处理中,并且仍在发现错误。在他们的公告中引用 Sean McManus 的话,选择加入该功能,

\n
\n
    \n
  1. 设置。C_Cpp.experimentalFeaturesenabled
  2. \n
  3. 选择要提取到函数的代码。
  4. \n
  5. 选择“提取到函数”代码操作。
  6. \n
  7. 如果出现“扩展选择”代码操作,请首先使用该操作。
  8. \n
  9. 如果没有出现代码操作,您可以使用 Ctrl+Shift+R Ctrl+E 来获取一条错误消息,该消息可能会解释其不可用的原因。
  10. \n
  11. 将会出现重命名提示,因此请使用它,但我们计划将其更改为在生成代码之前提示输入名称,而不是进行重命名(在生成“提取到函数”的代码之前提示输入新函数名称\ xc2\xa0#11531)。
  12. \n
  13. 之后代码将被格式化,但有各种问题可能导致格式化不起作用,因此我们正在考虑修复这些问题和/或在生成代码之前格式化代码(创建声明/定义的格式(和“提取到函数”)应该在操作\xc2\xa0#10236内完成)。
  14. \n
\n
\n

1.18.4更新

\n

该功能现已发布,您无需设置即可C_Cpp.experimentalFeatures获取。与以前一样,仍有已知问题正在被跟踪

\n
\n

为了供您参考/学习的目的,我通过谷歌搜索“”发现了问题票证site:github.com/microsoft/vscode-cpptools/issues extract method

\n