Sublime Text 3 无法解析来自 vuejs 的符号

Sublime Text 3 cannot parse symbols from vuejs

在 Sublime Text 中,我习惯于通过 @ 符号列表访问函数名。但是,当使用从vue-templates建立的项目时,.vue文件中的所有函数名和数据属性都不会出现在这个列表中。

这使得浏览 .vue 文件变得乏味。我已经安装了所有与 vue 相关的 Sublime 包,但其中 none 似乎可以解决这个问题。

如何让符号索引在 Vue 文件中正常工作? 或者,您是否有使用其他文本编辑器的经验?这样合适吗?

Sublime 中的符号列表(通过 Goto > Goto Symbol...Goto > Goto Symbol in Project... 可见)主要由相关语言的语法定义控制,其次由告诉 Sublime 语法的哪些部分的配置元数据控制实际上是应该显示在符号列表中的符号。

总的来说:

  • Sublime 对当前项目中的所有文件运行索引器
  • 索引器使用语法定义中的规则将文本分解为各种 scopes,描述每一位文本的用途(例如 "This is a string"、"this is a method call" 等)
  • 首选项文件包含指示scopes 被视为符号的规则,既适用于当前文件,也适用于项目范围

这两个部分需要协同工作才能正确填充符号列表(因为 Sublime 无法自行猜测),并且两个部分都应该由包提供为 Sublime 提供 Vue 支持。

最好的做法是向提供语法定义的 Vue 包的开发人员提出问题。语法作者简单地包含一个适当的 Symbol List.tmPreferences 文件可能足以解决这个问题。

也有可能符号列表未完全填充,因为 sublime 仍在索引项目中的所有文件,因此数据尚不可用。

您可以通过从菜单中选择 Help > Indexing Status... 来检查最新版本的 sublime 中索引器的状态,看看是否是问题所在。但是,除非您有非常大的文件集,否则这可能不是问题。