崇高,改变鼠标悬停时突出显示定义的行为

时间:2018-01-01 16:57:40

标签: sublimetext3

我有一个项目有几个类,它们部分共享函数,而在其他时候代码中的函数不同,但使用相同的名称。

当鼠标悬停在函数名称上时,Sublime会突出显示找到该定义的每个文件和行。

在我看来,如果它实际包含了不同亮点所属的类别会更好。

是否可以以某种方式编辑它?

enter image description here

假设systems.js包含4个不同的类(1个基数,3个孩子)。我想通过类定义追加或添加显示的字符串(可通过 prototype 获取)。

2 个答案:

答案 0 :(得分:1)

您问题中提到的悬停弹出窗口由Sublime的内部符号索引提供支持,该索引是与用于语法高亮显示您正在编辑的文件的语法定义一起创建的。 Sublime语法系统相当无上下文;它解析代码的结构,但它不包含任何有关它的真实结构信息。

因此,例如,它可以确定getShots是一个函数或方法,因为用于定义它的语法,但它不知道它来自哪个类。

悬停弹出窗口的代码可以在Default/symbol.py中找到(您可以使用PackageResourceViewer进行检查)并将光标下的符号与其他位置的符号相关联。该项目;它实际上只知道你在弹出窗口中看到的信息;定义了该名称的东西的地方,以及引用该名称的东西的地方。

所以从某种意义上说,你的问题的答案是否定的;核心崇高无法做到这一点,因为它没有足够的代码智能来解决这类问题;这种情况因像JavaScript这样的动态语言而恶化,理论上它们在运行时也会发生变化。

主要原因是因为Sublime可扩展到足以支持字面上的每种编程语言,而不是只关注一两个(例如PhpStorm),因此它没有核心代码来确定所需信息。

所有这一切,由于Sublime确实是非常可扩展的,因此可以利用包来利用 专用于语言的外部代码,以便提供适当的信息。

其中两个例子是SublimeCodeIntelLSP。我自己也没有使用它们,因此我不确定它们在您的工作流程中的适合程度。

答案 1 :(得分:0)

我强烈建议您主要转到Visual Studio Code,因为sublime是一个编辑器,而vs代码是一个IDE。此外,它还为所有语言提供了非常好的扩展支持。我建议你使用jshint,js代码最受欢迎的插件几乎适用于所有流行的编辑器和IDE。但是如果你想要使用Sublime,我建议您使用以下插件: https://www.sitepoint.com/essential-sublime-text-javascript-plugins/