有人有与 Scala 一起使用的 vim taglist 插件吗?

发布于 2024-09-05 14:34:48 字数 274 浏览 16 评论 0原文

我无法让 taglist 插件与 Scala 一起正常工作。我已经安装了插件和 ctags,并验证了它是否可以在 Java 和 C++ 中正常工作。然后我按照这个页面上的说明进行操作(减去 Lift 的特定说明),但是当我在编辑 Scala 文件时打开标签列表窗口时,标签列表窗口中没有显示任何内容。有谁能做到这一点吗?正确的步骤是什么?谢谢。

I'm having trouble getting the taglist plugin working properly with Scala. I've installed the plugin and ctags and verified that it works properly with Java and C++. I then followed the instructions on this page (minus the Lift specific instructuions), but was nothing shows up in the taglist window when I open it while editing a Scala file. Has anyone got this working and what are the proper steps? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

许仙没带伞 2024-09-12 14:34:49

我最近遇到了同样的麻烦,我采用并扩展了一个用于 scala 的 ctags 提取器,它与 tagbar 插件配合得很好。这是代码:

https://github.com/luben/sctags

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

I had the same trouble recently and I have adopted and extended a ctags extractor for scala that works quite well with the tagbar plugin. Here it is the code:

https://github.com/luben/sctags

It is slower than exuberant-ctags because it uses the scalac parser and JVM has noticeable startup time but it gives a quite complete information.

黯然#的苍凉 2024-09-12 14:34:48

首先检查您的标签文件中是否有内容。如果您已按照您提到的页面上的说明进行操作,它应该正确识别类、方法等。如果有效,那么您可以转到下一步。

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

应该可以将定义添加为全局变量 g:tlist_def__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 标记。

First check that your tags file has something in it. If you have followed the instructions on the page you mention, it should correctly identify classes, methods, etc. If that has worked then you can go to the next step.

The taglist plugin has a hardcoded list of supported language settings and Scala is not amongst them. So even if CTags generates the correct tags, the plugin will not read them in for this filetype.

It should be possible to add a definition as a global variable g:tlist_def_<lang>_settings, but I haven't been able to get that to work. So you have to modify the taglist.vim file in your ~/.vim/plugin directory to add Scala support. Don't worry, this is easy to do!

Search for the line that defines s:tlist_def_yacc_settings and add the following couple of lines after it:

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

Now when you hit Ctrl-T you should see your generated Scala tags in the Tag List window.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文