問題タブ [clang-complete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - gccsenseとclang_complete
私はしばらくの間omniCppComplete+ctagsを使用してきましたが、コードの補完をさらに改善したいと思っています。
ここでの提案[ 1 ]によると、gccsenseとclang_completeは代替手段のようです。しかし、どちらが良いかわかりません。彼らのパフォーマンスについて何か考えはありますか?
ありがとう!
更新: clang_completeを試した後、完了速度が非常に許容できないことがわかりました。次に、libclang.dylibを使用して試してみました。これにより、速度は大幅に向上しますが、それでも遅れを感じるようになります。今のところctagsに固執する必要があると思います。
vim - clang_complete: OS X の libclang.{so,dylib} はどこにありますか?
いつもの場所 (/usr/lib/,/Developer/usr/lib/,/usr/local/lib) を調べましたが、そこにはありません。
インストールされていない場合、インストール手順がどこにあるか知っている人はいますか?
ありがとう!
これを閉じるべきかどうかはわかりませんが、探していた答えが見つかりました:
XCode 4 がインストールされている OS X では、libclang.dylib は /Developer/usr/clang-ide/lib/libclang.dylib にあります。
c++ - clang_completeエラー:不明な引数:'--std = c ++ 0x'
clang ++バージョン:2.9 vimバージョン:7.3
私は.clang_comple
次のソースコード付きtest.cc
:
そしてclang_completeは
クイックフィックスリストにあります。
オプションを追加しようとしています
問題はまだあります。
clang_completeのコードをトレースしようとしましたが、それでもその問題を解決できません。他のすべてのオプションは正しく処理できますが、--std=c++0x
何かを見逃していませんか?または何か間違ったことをしましたか?
macos - OS X フレームワークでの clang_complete の使用
以下を /tmp/test.cpp に保存すると:
でこれを正しくコンパイルできますが!clang++ -framework CoreServices %
、clang_complete は CoreServices から何も完了できません。
ドキュメントには、コンパイラ オプションを .clang_complete ファイル (この場合は /tmp/.clang_complete を使用しています) に配置する必要があると書かれていますが、これまでに試したことはすべてtest.cpp|| unknown argument: '-framework'
、クイック フィックス ウィンドウに表示されます。
フレームワークを正しく処理するためにclang_completeを取得する正しい方法は何ですか?
ios - clang_complete:iOS用のVimオートコンプリート
そこで最近、VimベースのiOSワークフローを設定しようとしています。
clang_completeを見つけ、.vimrcでclangユーザーオプションを次のように設定しました
ここで説明されているように:http ://www.zenskg.net/wordpress/?p = 199#comment-229
そして、いくつかのフレームワーク/ヘッダー/libパスを追加しました。巨大なので、全行を投稿するつもりはありません。
そこでclang
、コマンドラインから(同じオプションを使用して)プロジェクト内のファイルの1つをコンパイルすることをテストしましたが、フラグを使用した場合にのみ正常にコンパイルされます。-arch armv6/7
そうしないと、i386用にコンパイルしようとし、ヘッダーファイルが見つからないと文句を言います。
ここまでは順調ですね。今、私は自分が与えたのとまったく同じオプションをclang
、私の右側clang_complete
のユーザーオプションに使用していますか?.vimrc
いいえ。それをしてVimで単語をオートコンプリートしようとすると、
VimのQuickFixリストにあります。私はちょっとこの旗が必要です-どうすればいいですか?
役に立つアイデア。iOSコード補完をVimで動作させたいです。
vim - clang_completeの完了速度を向上させる方法は?
Vimでプラグインclang_completeを使用しています。プラグインはC++STLを正確に完了することができます。しかし、その完了速度は許容できません。clang_completeの完了速度を向上させる方法はありますか?
更新:昨日私はこれを見つけました、そして今omnicppcompleteは基本的に私のニーズを満たすことができたので、私はomnicppcomplete.vimを使い続けることに決めました。あなたの答えをありがとう!
vim - clang_complete と iOS
最近、clang_complete について知り、MacVim で試してみようと思いました。私はiOS開発を行っていますが、最初は他の人が経験したようなUIKit/UIKit.hファイルが見つからないというエラーが発生しました。
iOS 5 SDK で Xcode 4.2 を使用しています。以下を clang_user_options に追加しました。
ただし、オートコンプリートをトリガーするたびに、次のエラーが発生します。
これを解決する方法はありますか?
vim - clang_complete の非同期コード補完
最近、私はclang_complete
C++ コード補完を行うために使用しています。小さなプログラムには適していて高速ですが、私の場合は遅すぎます (私は大きなコード ベースで作業しており、通常、1 つのファイルをコンパイルするのに数秒かかります)。私が正しく理解していれば。
現在、解析が完了するまでclang_complete
ブロックされます。ワーカー スレッドを開始しても、メイン スレッドは、ユーザーが押したかどうか、またはワーカー スレッドが正常に完了したかどうかを繰り返しチェックします。この期間中、vim は無反応になるため、このプラグインは使いにくくなります。ClangComplete
libclang
CTRLC
この動作を改善したいと考えています。たとえば、ClangComplete
ブロックはしませんが、スレッドがまだ実行されている間に 0.2 秒以上かかると空の結果を返します。libclang が解析を終了し、同じ補完単語を入力していることを検出すると、補完メニューがポップアップ表示されます。
これの難しさは次のとおりです。
- 異なるスレッド間で微妙な競合状態を引き起こすことなく、その時点でメニューをポップアップする方法、
- 私がまだ同じ補完単語を入力しているかどうかをどうやって知るのですか? vim 自体がこれを追跡していると思います。たとえば、 の
std::strang
代わりに何か間違ったことを入力するとstd::string
、 backspace を入力して間違った を削除するang
と、補完メニューが再び表示されるからです。では、この内部フラグにアクセスするにはどうすればよいでしょうか?
function - vim スクリプト (clang_complete) はどのように関数、テンプレートを完成させることができますか?
clang_complete.txt (ヘルプ ファイル) では、clang_complete-compl_kinds で次のように表示されます。
質問は次のとおり
です。1.完全なアイテムにアクセスできません(このファイルはありません)
2.パラメーター「+」「a」などの使用方法を教えてください。
3. または、( が入力されたときに関数パラメーターを表示する方法を教えてください。
ありがとう!
(私の下手な英語を許してください)
vim - clang_completeプラグインを使用してVimのオートコンプリートウィンドウでオーバーロードされた関数を取得するにはどうすればよいですか?
私はvimを初めて使用し、デフォルト設定でclang_completeをインストールし、C++で使用しています。
オートコンプリートを使用することはできますが、オーバーロードされた関数がある場合は常に、オートコンプリートウィンドウ(。または->と入力すると開きます)に表示されるのはそのうちの1つだけです。clangは、最初に遭遇したオーバーロードされた関数のみを表示すると思います。
たとえば、がタイプの場合、オートコンプリートウィンドウにaList.er
は、の宣言のみが表示iterator erase(iterator)
され、2つのイテレータパラメータを持つ他の宣言は表示されません。
オートコンプリートウィンドウですべてのオーバーロードされた関数を取得できるようにする方法はありますか?
PS:私はubuntuとVimv7.3を使用しています