如何配置Exuberant Ctags跳过Java的import语句索引?
为什么--java-kinds=-p无效
p类型对应的是Java代码中的包声明(package 语句),而非import语句里引用的外部符号,所以移除该类型无法达到跳过import索引的目的。
方案1:通过自定义正则规则排除import符号
在~/.ctags(或~/.ctags.d/java.ctags)中添加以下配置:
# 将import语句中的符号标记为自定义的import类型 --regex-java=/^import[ \t]+([a-zA-Z0-9_.]+);$//\1/import,imported symbols/ # 禁用import类型的索引 --java-kinds=-import
配置后,Ctags会把import语句里的符号归类为import类型,再通过-import规则排除该类型的索引。
方案2:使用Universal Ctags原生选项(推荐)
如果你使用的是Universal Ctags(Exuberant Ctags的后续维护版本,目前更常用),直接在~/.ctags中添加原生配置:
--java-skip-import
这个选项会直接跳过所有import语句中的符号索引,无需自定义正则。
验证配置生效
执行命令生成tags文件后,检查文件内容确认import语句中的外部符号已被排除:
ctags -R 你的Java项目路径/
内容的提问来源于stack exchange,提问作者rogerb
相关产品推荐
相关产品推荐

