C++ YouCompleteMe仅在使用命名空间作为前缀时显示构造函数
如果我有一个包含头的文件,那么除了构造函数之外,YouCompleteMe在代码完成方面工作得非常好,它工作的唯一方法是为该类使用名称空间前缀 下面是一个示例,由头文件C++ YouCompleteMe仅在使用命名空间作为前缀时显示构造函数,c++,vim,youcompleteme,C++,Vim,Youcompleteme,如果我有一个包含头的文件,那么除了构造函数之外,YouCompleteMe在代码完成方面工作得非常好,它工作的唯一方法是为该类使用名称空间前缀 下面是一个示例,由头文件some_class.h组成: namespace types { class some_class { public: some_class() {}; some_class(int) {}; some_class(int, int) {}; void some_fun
some_class.h
组成:
namespace types {
class some_class {
public:
some_class() {};
some_class(int) {};
some_class(int, int) {};
void some_function() {}
};
}
和主文件:
#include "some_class.h" // some_class is in namespace 'types'
using namespace types;
int main() {
some_class a; // YouCompleteMe doesn't suggest all the diff ctors I could use
a.some_function(); // YouCompleteMe suggests autocompletion on my type
types::some_class b; // Now YouCompleteMe shows all the different ctors I could use
}
为什么会发生这种情况,有没有办法解决,因为我不想总是使用名称空间前缀?我不太清楚您的工作流程是什么。也许一个简短的gif会有帮助。我不太清楚你们的工作流程是什么。也许有一个简短的gif会有所帮助。