7

私のgtagsバージョンはgtagsです-GNUGLOBAL5.9.2

GnuGlobal用のPythonプラグインをここからダウンロードしました

globalrc.exampleを〜/.globalrcにコピーします

script /python_global_tags.pyを$PATHにある〜/ bin/python_global_tags.pyにコピーします

タイプ:Pythonファイルのディレクトリにある「gtags」

不平はありません

タイプ: "global -f test.py"

出力なし

しかし、「global -g」は機能します。これが、grepの単なるラッパーである場合はさまよいます。

私の質問は:

  • Python自体でプラグインを書くことさえ可能ですか?
  • 〜/ .globalrcを構成するためのチュートリアルはありますか?公式サイトのチュートリアルでは、それについてほとんど言及されていません。

どうもありがとう、

gnu globalは上昇していますが、それでもサポートしている言語はごくわずかです。

4

2 に答える 2

9

Google 経由でこのページにたどり着いた方へ: 現在、GNU Global素晴らしい Pygments ベースのプラグインを介して Python (およびその他) をサポートしています。

https://github.com/yoshizow/global-pygments-plugin

README に従ってください。唯一の注意点は、私の場合、おそらくシンボリック リンクの多用が原因で、gtags が大きなファイル ツリーに対して空のファイルを生成したことです。解決策は、マニュアルfindでアドバイスされているように使用することです:

find . -name '*.py' >/tmp/list     # make a file set
gtags -f /tmp/list                 # and use it

定義を検索できるようになりました

global -x main     # suppose you have at least one main() somewhere in the code

または参照

global -rsx sys                    # this is likely to list *all* your modules

または、不完全なタグの可能な補完を検索することもできます:

global -cs OrderedD                # -c: "complete", -s: "non-local references"
于 2016-07-21T12:31:10.180 に答える
0

私の理解では、GNU Global はまだ Python をサポートしていません。ホームページには次のように書かれています。

C、C++、Yacc、Java、PHP4、およびアセンブリをサポートします。(定義と参照)

この投稿では基本的に、C でプラグインを作成する必要があると述べています。グローバルはサポートされていないため、古き良きExuberant Ctagsに戻りました。

ctags -e -R .

うまく機能しますが、後方参照は得られません。etags に関するこの他の質問も参照してください。

于 2013-01-18T20:39:01.950 に答える