4

タグをオートコンプリート モードで動作させるのにかなり長い間苦労してきましたが、私の試みは無駄だったようです。

2 つの質問があります。

  1. オートコンプリート モードが gtags で機能しているかどうかを確認するにはどうすればよいですか?
  2. オートコンプリートで動作するように 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 にあまり慣れていないので、物事を機能させるにはもう少し説明が必要だと思います。

4

0 に答える 0