在clang_complete.txt(帮助文件)中,它在clang_complete-compl_kinds中显示:
2.Completion kinds *clang_complete-compl_kinds*
Because libclang provides a lot of information about completion, there are
some additional kinds of completion along with standard ones (see >
:help complete-items for details):
'+' - constructor
'~' - destructor
'e' - enumerator constant
'a' - parameter ('a' from "argument") of a function, method or template
'u' - unknown or buildin type (int, float, ...)
'n' - namespace or its alias
'p' - template ('p' from "pattern")
问题是:
1.我无法访问完整项目(没有此文件)
2.有人可以告诉我如何使用参数'+''a'等。
3.或者你能告诉我如何(键入时)显示函数参数。
谢谢!
(原谅我可怜的英语)
答案 0 :(得分:0)
已经很长时间了,但我会回答以帮助未来的访客。
我不完全理解你的问题,但我会回答第三个问题。 Clang complete仅在编写'。',' - >'时启动自动建议/完成或'::',但您可以手动启动它。
我这样使用它。在这个来源:
#include <iostream>
using namespace std;
void ExampleFunc (float foo, int &bar)
{
cout << foo;
bar++;
}
int main (int argc, char **argv)
{
int a(0);
Exa[cursor here]
return 0;
}
编写“Exa”,您可以按<C-X><C-U>
,您将看到一个预览窗口:
Example (float foo, int &bar)
和完成窗口(在插入模式下按<C-N>
(CTRL-N)时显示的窗口):
Example f void Example(float foo, int &bar)
如果有多个匹配项,您可以使用<C-N>
或<C-P>
向下或向上移动,并使用<CR>
(输入)完成。
完成并不完美,但它应该适用于许多其他情况,例如(如你所提到的)模板:
#include <vector>
using namespace std;
int main (int argc, char **argv)
{
struct MyType {int asdf; float qwer;};
vector<MyType> vec;
ve // suggestions after <C-X><C-U>:
// "vec v vector<MyType> vec" v is for variable
// "vector p vector<Typename _Tp>" p is for pattern (template)
// constructors with its parameters, etc.
vec. // auto-fired suggestions: all std::vector methods
vec[0]. // auto-fired suggestions: "asdf", "qwer" and MyType methods
return 0;
}
如果这些示例不适合您,则表示您尚未正确安装插件。
顺便说一句,您可以将<C-X><C-U>
映射到其他快捷方式。