我想创建一个ctags
用于完整源树的标签文件。现在我通常会运行ctags *.c
,但问题出在顶层目录中,没有源文件。另外,我希望它接收*.c
, *.h
, *.cpp
&*.hpp
文件,我该怎么做?
问问题
9343 次
4 回答
10
您可以使用ctags --recurse
或ctags -R
递归地下降到目录树中。
于 2016-08-27T22:55:24.640 回答
3
如果您想为 git 存储库中存在的 c/c++/javascript/java/python 文件生成标签(尊重 .gitignore):
git ls-files | ctags --links=no --languages=c,c++,javascript,java,python -L-
于 2019-09-30T09:58:36.953 回答
0
如果根目录中没有任何源,最好的过滤方法是使用该--languages
选项。这是我用于混合语言项目的一个,我只想要 Tcl 文件的标签。
ctags -R --languages=Tcl .
请注意,如果您需要支持多种语言,可以使用 ,
要查看语言列表,请使用--list-languages
于 2018-03-14T13:34:29.823 回答
0
您可以使用ctags -R
or stags --recurse
,正如其他人所建议的那样。
但是,正如用户 cxw 所提到的,这在 Ubuntu 18.04 上不起作用。
这是我发现的。默认安装有:
# ctags --version
ctags (GNU Emacs 25.2)
Copyright (C) 2017 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README
然后,在 之后sudo apt-get install ctags
,我得到:
# ctags --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
现在递归选项起作用了。
于 2020-10-13T18:31:14.380 回答