假设我写了一个新课程。我从标题开始
MyClass.hpp
:
#pragma once
namespace MyProjectNamespace {
class MyClass {
public:
foo(int i);
};
}
还没有相应的 .cpp 文件,但 C++ 扩展有一个很好的快速修复来解决它 - 我可以 Ctrl+. 并选择“在 MyClass.cpp 中创建 'foo' 的定义”。这将创建一个像这样的
MyClass.cpp
文件:
#include "MyClass.hpp"
MyProjectNamespace::MyClass::foo(int i)
{
}
但是,正如您所看到的,这在定义中使用(几乎)完全限定名称,而不是像在标头中那样打开名称空间。我可以自己修复它,任何进一步的“创建定义”操作都会将其正确放置在命名空间内,但对于新文件来说仍然有点烦人。
是否可以通过设置更改此操作的行为,或者以某种方式修改扩展使用的模板以始终在新定义上打开命名空间(如果不存在)?
我不知道用户可以通过任何方式对此进行配置,也不知道任何“现有的功能请求问题票证”。我建议,如果您希望存在这样的配置功能,那么您应该创建一个功能请求问题票明确定义您想要的行为。 旁注:这个问题让我想起
如何更改 VS Code Cpptools 扩展的“创建声明/定义”功能创建的文件的文件扩展名?