Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Vim Ctags如何自动完成函数参数?_C++_Function_Vim_Autocomplete_Ctags - Fatal编程技术网

C++ Vim Ctags如何自动完成函数参数?

C++ Vim Ctags如何自动完成函数参数?,c++,function,vim,autocomplete,ctags,C++,Function,Vim,Autocomplete,Ctags,我想知道是否有可能从大量CTAG生成的标记中自动完成函数参数?我注意到,当我生成一个标记时,我看到了函数参数和函数,因此假设可以完成参数是合乎逻辑的 我很熟悉有其他替代方案,比如使用clang编译器的clang_complete和youcompleteme,但这是一个附加的依赖项。我已经在使用Tagbar+EasyTags等,所以如果已经有了,为什么不直接使用tags,而不是膨胀vim。这并不是函数参数的真正“完成”,但从您对问题的评论中可以看出,您想要一个关于函数在完成标记后采用哪些参数的指南

我想知道是否有可能从大量CTAG生成的标记中自动完成函数参数?我注意到,当我生成一个标记时,我看到了函数参数和函数,因此假设可以完成参数是合乎逻辑的

我很熟悉有其他替代方案,比如使用clang编译器的clang_complete和youcompleteme,但这是一个附加的依赖项。我已经在使用Tagbar+EasyTags等,所以如果已经有了,为什么不直接使用tags,而不是膨胀vim。

这并不是函数参数的真正“完成”,但从您对问题的评论中可以看出,您想要一个关于函数在完成标记后采用哪些参数的指南

如果您的完成方法支持它,您可以看到带有
:set completeopt+=preview
的指南

与Vim一起分发的C文件类型插件使用标记签名将
'omnifunc'
选项设置为
ccomplete#Complete
,该选项支持此选项。我相信它也适用于C++。对于其他语言,您可能需要类似的完成函数


要使用它,请在设置选项后进行“omni”类型的补全,并将
设置为插入模式。

我尝试了一些使用CTAG和补全函数参数的插件(虽然不记得确切的名称),但它们在相当大的项目上都不起作用:类似的函数名称非常常见(例如,不同类的成员函数).我也用了omnicppcomplete大约一年了,在大型项目上它也很难看。我真的建议你尝试使用clang的插件,它很好:用真正的编译器完成,而不是用CTAG的丑陋方法。我对用clang完成感到高兴。你最好从无上下文的CTAG切换到上下文感知的clang complete或YCM。Tha尽管如此,我认为它们并没有完成函数参数。YCM真的很酷,能够只键入单词中的几个字母(不一定是前缀)让它完成我真正想要的东西很好。顺便说一句,为什么是函数参数?你想使用与签名完全相同的名称的频率有多高?我有点困惑你想要实现什么。你说的“完整函数参数”是什么意思?您可以将任何内容传递给函数:文本字符串、变量名、另一个函数调用的结果、文本十六进制数等。这些内容都可以在您再次调用完成函数时完成。或者,您只是想看一本关于函数采用什么参数的指南吗?什么意思?我是指函数rguments与“intadd(inta,intb)”相同,所以当我尝试完成一个函数时,它会显示Add(inta,intb),而不是仅仅添加。另外,使用ctags仍然很好,我可以使用Tagbar在类中显示我的函数,等等,这使得查看源代码非常容易。我结合使用cscope+ctags,所以如果我想要定义或什么,我可以很容易地得到它。无论如何,现在我正在使用YCM、ctags、cscope和Tagbar进行C/C++开发工具。@Ben我想看一个函数基本上采用什么参数的指南。