タグをオートコンプリート モードで動作させるのにかなり長い間苦労してきましたが、私の試みは無駄だったようです。
2 つの質問があります。
- オートコンプリート モードが gtags で機能しているかどうかを確認するにはどうすればよいですか?
- オートコンプリートで動作するように gtags を設定するにはどうすればよいですか? (すべてをセットアップするためにemacsの外で行う必要がある手順を含みます。)
これが私の状況です:
私は比較的大きなコード ベースを持っており、gtags でインデックスを作成し、コード ヒントのオートコンプリートで gtags を使用したいと考えています。ソースには多くのレベルのディレクトリがありますが、それらはすべて、gtag を生成したルート ディレクトリに属しています。
私の理解では、すべてが正しくセットアップされていれば、いくつかの文字を入力して、ソースが gtags によってインデックス付けされたディレクトリ内にある場合、gtags に基づいてオートコンプリートを取得できるはずです。たとえば、gtags
次のようにルート ディレクトリに (コマンド ラインから呼び出して) gtags を保存した場合:
Root_Project_Dir
├── GPATH
├── GRTAGS
├── GSYMS
├── GTAGS
│
├── Folder1
│ └──my_structs.h
├── Folder2
└──some_code.cpp
my_structs.h には次のように定義されたものがあります...
struct testStruct{
int a;
char blah_blah;
double context;
};
つまり、この構造体を some_code.cpp で定義すると、オートコンプリートが .cpp ソースで構造体を完成させようとする可能性があります。これは正しいです?つまり、定義testStruct mystruct = new testStruct();
した場合、次に " mystruct->
" のようなものを呼び出すと、オートコンプリート ダイアログが構造体のメンバーと共にポップアップするはずです?
私のおもちゃの .emacs ファイルには、次の必要最小限のオートコンプリート セットアップがあります (正しいロード パスと共に)。作業ディレクトリ内からコードを認識してオートコンプリートできるようです。ただし、ソースが現在あるディレクトリ以外は認識していないようです。
;; auto-complete stuff
require 'auto-complete)
(require 'auto-complete-config)
(ac-config-default)
(defun ac-common-setup ()
(setq ac-sources (append ac-sources '(ac-source-gtags))))
私はインターネットでたくさん見回しましたが、本当に解決策は見つかりませんでした。この投稿を見ましたが、解決策は ac-source-gtags を追加するように言っているだけです。私は elisp にあまり慣れていないので、物事を機能させるにはもう少し説明が必要だと思います。