Sublime 语法突出显示不适用于错误输入的 PHP 内置函数

Sublime syntax highlighting not working for wrongly typed PHP built-in functions

我正在使用 Sublime Text 3 版本 3.2.2,Build 3211。

问题是 Sublime 语法高亮显示对输入错误的 PHP 内置函数不起作用。我希望它的行为像 Notepad++ 和其他一些代码编辑器,如果您错误地输入了错误的 PHP 内置函数,那么编辑器会将其视为普通的纯文本。所以你知道打字错误,以防你不记得函数名称。一旦看到代码颜色没有更改为保留关键字设置的颜色,您可以立即纠正错误。

我正在以 PHP 内置字符串函数 strlen().

为例

在记事本++中

这里我特意打了strlenstrle来让大家明白我的意思。函数名称颜色变为黑色:

当我输入正确的函数名称时,函数名称颜色变为蓝色:

在 Sublime Text 3 中

错误的函数名称仍然是蓝色的。你不能说它打对了还是打错了:

可以看到错误的PHP函数没有改变颜色。所以我不知道什么时候我无意中在大代码中输入了错误的函数。我们如何解决这个问题?

此行为是 color scheme-dependent. I use the Neon Color Scheme(注意:我是其作者),您的代码如下所示:

正如您在上面 strle 片段中看到的那样,函数名称为绿色,所有通用(即非内置)函数都是。相关的scopemeta.function-call.php variable.function.php,表示一样多

strlen 拼写正确的下方片段中,语法突出显示完全不同。相关作用域为meta.function-call.php support.function.string.php,说明该函数不仅是内置的,而且还是一个字符串函数。如果你愿意,你可以调整你的配色方案,以不同于其他内置函数的方式突出显示所有字符串函数。

我不知道你用的是什么配色方案,但它显然没有区分不同类型的功能。不幸的是,除非您在阅读 JSON 和在头脑中解释 Sublime 作用域方面都很有天赋,否则实际上没有办法查看给定的配色方案是否支持这种差异化。我设计 Neon 的目的是让尽可能多的语言结构看起来尽可能好,但并不是所有(事实上,不是很多)配色方案作者都有这个目标,所以如果你不喜欢 Neon,你将不得不环顾四周。目前有 300 个不同的 color schemes on Package Control. If you'd rather alter your current color scheme and the docs 不回答你所有的问题,只是 post 个新问题,我很乐意提供帮助。