7

我的 gtags 版本是 gtags - GNU GLOBAL 5.9.2

我在这里下载了 Gnu Global 的 python 插件

将 globalrc.example 复制到 ~/.globalrc

将 script/python_global_tags.py 复制到我的 $PATH 中的 ~/bin/python_global_tags.py

在 python 文件目录中键入:“gtags”

没有抱怨

类型:“全局-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

只需按照自述文件进行操作,唯一需要注意的是,在我的情况下,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 编写一个插件。由于不支持 global,我恢复到旧的Exuberant Ctags

ctags -e -R .

效果很好,但你不会得到反向引用。另请参阅有关 etags 的其他问题

于 2013-01-18T20:39:01.950 回答