为 Emacs cscope 加入 Java 支持

2014-11-24 11:20:16 · 作者: · 浏览: 4
Emacs 的 xcscope 插件默认不会扫描 Java 文件,另外 Android 源码里有不少.aidl的文件,默认也不包含在 xcscope 的扫描范围里。解决这个问题的一个方法是在项目根目录下手动创建 cscope 索引:
$ find . -name "*.java" -or -name "*.aidl" -or -name "*.cpp" > cscope.files
$ cscope -b
这样做的缺点很明显,索引功能没有做到 Emacs 里,需要单独起一个 shell,比较麻烦。我发现这个问题的本质在于 xcscope 创建索引用的是cscope-indexer这个脚本,而 cscope-indexer 默认只会扫描 C/
C++
的源码文件。所以其实只要修改 cscope-indexer,把第 140 行从原来的
egrep -i '\.([chly](xx|pp)*|cc|hh)$' | \
改成
egrep -i '\.([chly](xx|pp)*|cc|hh|java|aidl)$' | \
之后就能用C-c s I在 Emacs 中创建 Android 项目的索引了。
Permalink