4

omn​​icompletion には、clang_complete で Vim を使用します。

.プラグインは、オブジェクトのメンバーやメソッドを入力した後、またはアクセスした後など、補完が必要なときに自動的にトリガー->されます (下のスクリーンショットを参照)。

std::map メソッドを示す clang_complete

プラグインは非常にうまく機能しますが、手動でトリガーする方法が必要です (つまり、構文チェックのためにコードをコンパイルするため)。

これは、次の 2 つの理由で役立ちます。

  1. 静的構文チェック
  2. 修正された以前のエラーをクリアします (それ以外の場合はバッファに残ります)。理解を深めるために、以下の 2 つのスクリーンショットを参照してください。

どんな助けでも大歓迎です。ありがとう。


スクリーンショット 1


3 行目のエラー


スクリーンショット 2


エラー修正


4

2 に答える 2

3

clang_completeドキュメントから:

        *clang_complete-periodic_quickfix*
        *g:clang_periodic_quickfix*
If equal to 1, it will periodically update the quickfix window.
Default: 0
Note: You could use the g:ClangUpdateQuickFix() to do the same with a mapping.

この変数を1に設定すると、クイックフィックスウィンドウが定期的に更新されます(および)。または、次のようにマッピングを作成できます。

nmap <leader>uq :call g:ClangUpdateQuickFix()

\uqが更新を引き起こすようにします。(もちろん、あなたのリーダーマッピングを使用します)

于 2012-06-29T12:32:28.820 に答える
1

その場で構文チェックを探している場合は、syntasticを確認することをお勧めします。これは、基本的にコードで g++ --fsyntaxonly を実行し、バッファーにエラーをマークします。clang を使用するように構成することもできます。

于 2012-08-07T06:05:27.323 に答える