14

C++ プロジェクト コード ベースのインデックス作成に使用できる VIM 用のプラグインはありますか?

クラスを指定でき、メソッドである可能性があり、メソッド/クラスが定義されているファイル/行を確認できるなどの機能を高く評価します。

4

3 に答える 3

23

コードのナビゲーション (および補完) については、

clang_indexer (およびclang_complete )を見てみましょう- C++ コードの ctag の理解はかなり悪いですが、universal-ctags は状況を大幅に改善しました。C++ の cscope の理解は存在しません。

C++コーディング用のプラグインについては、

C および C++ プログラミング用のスイートがあります。主に C++ プログラミングを対象としていますが、いくつかのユニークな機能は C でも使用できます。

  • 状況依存のスニペット(私が管理している他のプラグインが必要です);
  • 宣言から関数定義にジャンプする方法(またはまだ存在しない場合はその場で作成する方法)(以前はプラグインの代替が必要でしたが、これは必須ですが、私のためにフォークしました独自のニーズ) -> :GOTOIMPL;
  • 宣言ありで定義なしの関数、または定義ありで宣言なしの関数をリストする小さなツール (注意: C の静的関数に対してはまだ使用していません) (ctags が必要です)。
  • :Overrideオーバーライド可能な関数を検索する
  • :DOXC++ 関数シグネチャを分析して、適切な (カスタマイズ可能な) doxygen コメント (\param、\throw などを使用) を生成する
  • カーソルの下のシンボルが定義されているヘッダー ファイルを含めるためのマッピング* (これには、最新の ctags ベースが必要です)
  • その他のいくつかのこと

それ以外の場合は、次も使用します。

  • プロジェクト固有の設定を行うための project/ local_vimrcなどのプラグイン。
  • searchInRuntimeを使用して、現在のプロジェクトのディレクトリを参照する必要なく、ファイルを開いたりジャンプしたりできます。
  • リファクタリング プラグイン(まだいくつか欠けているものがあります...) ;
  • バックグラウンド コンパイルを実行し、&makeprg の結果をフィルタリングするための :make のラッパー (例: cygwin posix フォームと dos フォーム間のパス名変換、STLfilt の適用など) (->安定しているが、まだアルファ段階にあるBuildToolWrapper ) ;
  • すでに言及されている他のいくつかのもの(代替、ctags、...)。

その他のプラグイン。

他の人は、c.vim、他のテンプレート システム (snipmate & co)、pyclewn (vim 内から (gdb を使用して) デバッグする場合に強くお勧めします)、他のブラケット囲み拡張システムなどを使用しています。

PS: quoraで同じ件名の質問に少し違った回答をしました。

于 2012-06-21T12:21:20.010 に答える
3

cscopeブラウジングに便利なツールです。ここに素晴らしいチュートリアルがあります。

ctagsは別の優れたツールです。私は自分のプロジェクトで使用しています。チュートリアルはこちら。Ubuntu を使用している場合は、次のようにctagsしてインストールできます。

apt-get install exuberant-ctags

gtagsは別のツールです。

于 2012-06-21T04:50:06.277 に答える
2

タグリストを多用しています。

「タグリスト」プラグインは、Vimエディターのソースコードブラウザーです。ソースコードファイルの構造の概要を説明し、さまざまなプログラミング言語のソースコードファイルを効率的に参照できるようにします。これは、Vimエディター用の最も評価が高くダウンロードされているプラ​​グインです。

于 2012-06-21T08:12:43.813 に答える