2012-03-13 5 views
3

、それはこれらがclang_complete-compl_kindsで示していますvimスクリプト(clang_complete)はどのように関数、テンプレートを完成させることができますか? clang_complete.txt(ヘルプファイル)で

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

をそれは長い時間がかかったが、私は助けるためにお答えします将来の訪問者

私はあなたの質問を完全に理解していませんが、私は3番目の答えになるでしょう:Clang completeは、 '。'、 ' - >'または '::'手動で起動することができます。

このように使用します。 ource:あなたは<C-N>(CTRL-Nを押したときに表示されるものと同じ(

Example (float foo, int &bar) 

と完了画面:あなたは<C-X><C-U>を押すことができますし、あなたがプレビューウィンドウを取得する「エクサ」を書く

#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; 
} 

))挿入モードのある:

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>を他のショートカットに割り当てることができます。

関連する問題