首页 > 解决方案 > Sublime 语法高亮不适用于输入错误的 PHP 内置函数

问题描述

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

问题是 Sublime 语法高亮不适用于输入错误的 PHP 内置函数。我希望它的行为类似于 Notepad++ 和其他一些代码编辑器,如果您错误地键入了错误的 PHP 内置函数,那么编辑器会将其视为普通的纯文本。所以你知道错字,以防万一你不完全记得函数名。只要您看到代码颜色没有更改为为保留关键字设置的颜色,您就可以纠正错误。

我以 PHP 内置字符串函数为例strlen()

在记事本++

在这里,我特意打字strlenstrle告诉你我的意思。函数名称颜色变为黑色:

在此处输入图像描述

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

在此处输入图像描述

在崇高的文本 3

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

在此处输入图像描述

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

标签: phpsublimetext3

解决方案


此行为取决于配色方案。我使用Neon Color Scheme(nb:我是它的作者),你的代码如下所示:

截屏

正如您在上面的代码片段中看到的那样strle,函数名称是绿色的,所有通用(即非内置)函数都是绿色的。相关范围meta.function-call.php variable.function.php,这表明了很多。

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

我不知道您使用的是什么配色方案,但它显然没有区分不同类型的功能。不幸的是,除非你在阅读 JSON 和在脑海中解释 Sublime 范围方面有天赋,否则真的没有办法查看给定的配色方案是否支持这种差异化。我设计 Neon 的目标是让尽可能多的语言结构看起来尽可能好,但并非所有(事实上,不是很多)配色方案作者都共享这个目标,所以如果你不喜欢 Neon,你将不得不环顾四周。目前在Package Control 上有大约 300 种不同的配色方案。如果您想更改当前的配色方案并且文档没有回答您的所有问题,只需发布​​一个新问题,我很乐意提供帮助。


推荐阅读