PHP/Python/E中内置函数的ctags信息

2024-04-29 04:02:25 发布

您现在位置:Python中文网/ 问答频道 /正文

有什么方法可以让ctag以某种方式支持PHP/Python提供的内置函数(或者我当时正在处理的任何东西),这样我就可以在vim的sourceexplorer中使用这些函数了吗?在

更新:

好吧,使用python,我可以在源文件夹上运行ctags来获得一个带有内置函数的标记文件,尽管在PHP中它似乎不起作用,但是PHP的源文件包含如下行:

/* {{{ proto resource mysql_connect([string hostname[:port][:/path/to/socket] [, string username [, string password [, bool new [, int flags]]]]])

所以如果我能用ctag解析它,我会在我的标签文件中得到适当的函数。我尝试使用--regex-C让它获取它,但是下面的方法似乎不起作用。在

^{pr2}$

你知道怎么用这个吗?在

同样在python中,我似乎得到了类的“class ClassName:”行,有没有办法也包括init函数?在

更新: 我将为PHP创建一个单独的问题,感谢您的回答。在


Tags: 文件方法函数标记文件夹string方式vim
2条回答

ctags允许您使用 append选项以增量方式构建标记数据库;如果您想要Python例程的C定义(很多?一些?一点点?直接用C实现,有些用Python本身实现)您可以运行:

ctags -R
ctags  append -R /path/to/python-source

如果只想包含Python源代码的一部分,可以只提供这部分代码;正如您在评论中所说,Lib/是开始的地方:)

^{pr2}$

考虑到大多数解释语言(甚至字节码编译语言)最终在后台用C实现了相当数量的接口,在源代码和依赖的api源代码之间实现无缝转换可能很困难。在

我发现为源代码建立多个数据库是很有帮助的;有时问题最好用cscope,有时{a1},有时{}。ctags对于集成到vim来说是极好的,但是{}通常更容易编写脚本。在

ctags在python语法上有很多问题,因为它试图寻找大括号,而python却没有。在

我会说看this。在

相关问题 更多 >