有没有人得到使用Scala的vim taglist插件?

时间:2010-06-11 01:45:12

标签: vim scala taglist

我无法使用Scala使taglist插件正常工作。我已经安装了插件和ctags,并验证它与Java和C ++一起正常工作。然后我按照page上的说明(减去Lift特定说明),但在编辑Scala文件时打开它时,标签列表窗口中没有显示任何内容。有没有人有这个工作,什么是正确的步骤?感谢。

2 个答案:

答案 0 :(得分:4)

首先检查您的代码文件中是否包含某些内容。如果您已按照您提到的页面上的说明进行操作,则应正确识别类别,方法等。如果这样做有效,则可以进入下一步。

taglist plugin有一个受支持的语言设置的硬编码列表,而Scala不在其中。因此,即使CTags生成正确的标签,插件也不会为此文件类型读取它们。

应该可以将定义添加为全局变量g:tlist_def_<lang>_settings,但我无法使其工作。因此,您必须修改~/.vim/plugin目录中的taglist.vim文件以添加Scala支持。别担心,这很容易做到!

搜索定义s:tlist_def_yacc_settings的行并在其后添加以下几行:

let s:tlist_def_scala_settings = 'scala;t:trait;c:class;T:type;' .
                      \ 'm:method;C:constant;l:local;p:package;o:object'

现在,当您点击Ctrl-T时,您应该会在“标记列表”窗口中看到生成的Scala标记。

答案 1 :(得分:0)

我最近遇到了同样的麻烦,我已经采用并扩展了一个用于scala的ctags提取器,它与tagbar插件非常兼容。这是代码:

https://github.com/luben/sctags

它比exuberant-ctags慢,因为它使用scalac解析器,JVM有明显的启动时间,但它提供了相当完整的信息。

相关问题