从egg生成ctags以进行开发。
项目描述
z3c.recipe.tag
简介
此配方生成一个TAGS数据库文件,可用于与多个不同编辑器配合,快速查找包的源文件和egg依赖项中的类和函数定义。
依赖项
在运行启用标签的buildout之前,您必须安装适当的命令行标签生成工具:exuberant-ctags和id-utils。在Ubuntu上,您可以使用apt-get安装这些工具
$ sudo apt-get install exuberant-ctags id-utils
在Mac上,从http://www.macports.org/下载并安装port,然后按以下方式安装ctags和idutils
$ sudo port install ctags idutils
如何使用此配方
使用 Buildout
假设您有一个名为MyApplication的egg。要使用此配方与buildout配合,您需要在buildout.cfg文件中添加以下内容
[tags] recipe = z3c.recipe.tag eggs = MyApplication
这将在bin/目录中生成一个脚本文件,您可以通过以下方式运行它
$ ./bin/tags
默认情况下,此脚本将在您运行脚本的目录中生成三个文件
一个名为TAGS的ctags文件,用于emacs编辑器,
一个名为tags的ctags文件,用于vi编辑器,
一个名为ID的idutils文件,用于id-utils(gid,lid)。
然后您可以在您选择的编辑器中使用这些文件。
可选地,您可以选择要构建的文件。以下是对./bin/tags --help的输出
usage: build_tags [options] options: -h, --help show this help message and exit -l LANGUAGES, --languages=LANGUAGES ctags comma-separated list of languages. defaults to ``-JavaScript`` -e, --ctags-emacs flag to build emacs ctags ``TAGS`` file -v, --ctags-vi flag to build vi ctags ``tags`` file -b, --ctags-bbedit flag to build bbedit ctags ``tags`` file -i, --idutils flag to build idutils ``ID`` file
如果您希望默认设置命令行选项(例如,默认限制构建为ctags-vi),可以在buildout.cfg中传递默认选项
[tags] recipe = z3c.recipe.tag eggs = MyApplication default = ['-v']
使用 virtualenv
您也可以使用virtualenv
my_venv/bin/pip install z3c.recipe.tag my_venv/bin/build_tags
这将为在该virtualenv中安装的所有包生成标签文件。
使用 Paver
如果您正在使用Paver并且已经安装了z3c.recipe.tag,那么您只需将此行添加到您的pavement.py文件中即可
import z3c.recipe.tag
然后从命令行运行z3c.recipe.tag.tags任务
$ paver z3c.recipe.tag.tags
附加资源
有关使用不同编辑器的标签表的信息,请参阅以下网站
Emacs:https://gnu.ac.cn/software/emacs/manual/html_node/emacs/Tags.html
要跳转到标签的位置,请输入M-x find-tag和标签的名称。或者使用M-.跳转到与光标当前位置的令牌匹配的标签。第一次这样做时,您将提示输入TAGS文件的位置。
BBEdit:http://pine.barebones.com/manual/BBEdit_9_User_Manual.pdf第14章,第324页
有关ctags的更多信息,请访问http://ctags.sourceforge.net/
(BBEdit是Macintosh文本编辑器。)
有关GNU id-utils(基本上是一个本地文本索引/搜索引擎;将其视为非常快速的grep -w版本)的更多信息,请参阅id-utils手册。
更改记录
1.0 (2023-02-09)
移除对Python < 3.7的支持。
添加对Python 3.7至3.11的支持。
需要zc.buildout >= 3。
0.8 (2014-10-20)
添加–tag-relative选项以支持相对标签生成。
0.7 (2013-03-22)
支持和要求zc.buildout 2.0。
将支持的Python版本(3.6、2.7、3.2、3.3)分类器添加到setup.py中
0.6 (2012-09-07)
更新清单以允许从非VCS导出生成包。抵消0.5“棕色袋”版本。
0.5 (2012-09-06)
默认情况下排除Python导入语句作为标签显示。
添加“默认”选项,允许添加默认命令行选项(例如,默认设置“-v”)。
0.4.1 (2012-01-11)
跳过不存在的sys.path目录,以避免ctags警告。
0.4.0 (2010-08-29)
支持从zc.buildout 1.5及以上版本的新脚本功能。此版本需要zc.buildout 1.5或更高版本。
使用id-utils索引Mako和HTML文件。
0.3.0 (2009-08-16)
添加将此配方用作paver任务的支持。
使用id-utils索引JavaScript、CSS和ReStructuredText文件。
为zc.buildout定义默认入口点,因此您可以简单地输入
[ctags] recipe = z3c.recipe.tag
0.2.0 (2008-08-28)
允许命令行选择要构建的文件以及ctags应解析的语言。(注意,运行./bin/tags的默认行为与先前版本相同。)
支持Mac OS X包装系统“macports”(在Ubuntu中为ctags-exuberant,在macports中为ctags)。
支持创建BBEdit风格的ctags文件。
开发中的小改动(使用外部引导,设置svn:ignore)
0.1.0 (2008-03-16)
初始版本。
用于生成所用egg的ctags的buildout配方。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。