sfs*_*szh 6 python tags gnu gnu-global
我的gtags verion是gtags - GNU GLOBAL 5.9.2
我在这里为Gnu Global下载了一个python插件
将globalrc.example复制到〜/ .globalrc
将脚本/ python_global_tags.py复制到我的$ PATH中的〜/ bin/python_global_tags.py
在python文件的目录中输入"gtags"
没有抱怨
键入:"global -f test.py"
没有输出
但是"global -g"有效,如果它只是grep的包装,我会徘徊
我的问题是:
非常感谢,
gnu全球正在崛起,但仍然支持如此少的语言
只是对于那些到达通过谷歌这个页面:现在GNU全球不支持的Python(及以上)通过一个奇妙的Pygments来做为主插件:
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
Run Code Online (Sandbox Code Playgroud)
现在,人们可以搜索定义
global -x main # suppose you have at least one main() somewhere in the code
Run Code Online (Sandbox Code Playgroud)
或参考
global -rsx sys # this is likely to list *all* your modules
Run Code Online (Sandbox Code Playgroud)
甚至搜索不完整标签的可能完成情况:
global -cs OrderedD # -c: "complete", -s: "non-local references"
Run Code Online (Sandbox Code Playgroud)
据我了解,GNU Global 还不支持 Python。主页上说:
支持C、C++、Yacc、Java、PHP4和汇编。(定义和参考)
这篇文章基本上说我们需要用 C 语言编写一个插件。由于不支持全局,我又回到了旧的Exuberant Ctags:
ctags -e -R .
Run Code Online (Sandbox Code Playgroud)
效果很好,但你没有得到反向引用。另请参阅有关 etags 的其他问题。