web-dev-qa-db-ja.com

崇高なテキストのctags

ダウンロードしたばかりです sublime text 2 beta 2182 ubuntu10.10でExuberantCtags5.8を使用

これをC++コーディングに使用したいのですが、自動完了とコードナビゲーションが必要です。 (私はcdtでEclipseに慣れていました)

グーグルで検索したところ、ctagsはそれを実行できるクールなツールであり、崇高なテキストのプラグインサポートがあります ここ

問題は、次の場所からタグファイルを作成したいということです。

  1. c ++標準ライブラリ(std::vectorstd::map etc

  2. 私が使用しているフレームワークのすべてのクラス。

ポイント1は(私が思うに)ポイント2と同じで、/usr/include/c++/4.4.5/にstdlibのタグリストを作成するだけです。

プラグインをダウンロードしてインストールしたので、次のようにタグリストを作成しました。

$ cd /absolute_path_of_my_cpp_framework/
$ ctags -R *

/home/me/.config/sublime-text-2/Packages/CTagss/CTags.sublime-settingsを次の行で変更しました。

"extra_tag_files" : [".gemtags", "/absolute_path_of_my_cpp_framework/tags"]

ここで、cppファイルを開き、フレームワークのクラス名にカーソルを置き、キーバインディングctrl+t ctrl+tを使用しましたが、何も起こりませんでした。下部のバーにあるこのメッセージのみ:

「class_name」が見つかりません

誰かが私を助けることができますか?

30
nkint

私は個人的にSublimeTextを使用していませんが、vimと同様の方法でタグファイルを使用すると仮定すると、C++を完了するための追加情報を生成する必要があります。

次のオプションでctagsを使用します。

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

情報は この記事 から取得されました。これは、タグの生成に使用できる標準ライブラリヘッダーのコピーも提供します。

7
Matt Kline

シェルコマンド:

$ cd /absolute_path_of_my_cpp_framework/(1)

$ ctags -R --languages=c++ --langmap=c++:+.inl --fields=+iaS --extra=+q --totals=yes --verbose=yes(2)

$ ctags -a -R --languages=c++ /usr/include/c++/4.4.5/ --fields=+iaS --extra=+q --totals=yes --verbose=yes(3)

$ subl .(4)

説明:

(1)プロジェクトのルートフォルダに移動して、タグファイルがそこに作成されることを確認します。

(2)プロジェクト内のすべてのC++ファイル用に新しいタグファイルを生成し、.inlファイル、継承、アクセス修飾子、クラス修飾スコープなどのサポートを追加します。

(3)生成されたタグファイルにC++標準libヘッダーのタグを追加します。

(4)SublimeTextでフォルダを開きます。

参照:

  1. http://ctags.sourceforge.net/ctags.html
  2. https://www.chromium.org/developers/sublime-text
  3. http://www.tarosys.com/2014/07/adding-another-file-type-for-ctags.html
  4. あふれんばかりのctagsはディレクトリを除外します
  5. VimとCtags:タグの生成中に特定のファイルを無視する
  6. https://www.topbug.ne​​t/blog/2012/03/17/generate-ctags-files-for-c-slash-c-plus-plus-source-files-and-all-of- their-included-header-files /
2
W1M0R