【问题标题】:Sublime syntax highlighting not working for wrongly typed PHP built-in functionsSublime 语法高亮不适用于输入错误的 PHP 内置函数
【发布时间】:2021-06-24 07:15:38
【问题描述】:

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

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

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

在记事本++中

在这里,我特意将strlen 输入到strle 以向您展示我的意思。函数名颜色变为黑色:

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

在 Sublime Text 3 中

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

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

【问题讨论】:

    标签: php sublimetext3


    【解决方案1】:

    此行为取决于color scheme。我使用Neon Color Scheme(注:我是它的作者),您的代码如下所示:

    正如您在上面带有strle 的sn-p 中看到的,函数名称是绿色的,所有通用(即非内置)函数都是绿色的。相关的scopemeta.function-call.php variable.function.php,这表明了很多。

    strlen拼写正确的较低sn-p中,语法高亮完全不同。那里的相关范围是meta.function-call.php support.function.string.php,表示该函数不仅是内置的,它也是一个字符串函数。如果你愿意,你可以调整你的配色方案,以不同于其他内置函数的方式突出显示所有字符串函数。

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

    【讨论】:

    • 感谢您的详细回答。我正在使用 Dreamweaver 配色方案。这是链接:github.com/mghweb/SublimeDreamweaver。自从我开始编码以来,我已经使用 DW 很长时间了,所以没有其他配色方案看起来很舒服。我调整了这个配色方案,因为它在 HTML 表单标签等方面存在一些缺陷。所以你谈到的范围需要在我当前的配色方案中进行更改?你说得对,它依赖于配色方案,因为当我切换到十六色方案时,拼写错误的 PHP 函数的颜色发生了变化。
    • 另一个与配色方案相关的问题是,我们能否让 Sublime 突出显示所有匹配文本。目前只能在文字周围加边框?
    • @Sachin 是的,Dreamweaver。我在 90 年代的第一份(付费)编码工作中使用了它......无论如何,是的,如果你为你的配色方案添加 meta.function-call variable.functionmeta.function-call support.function.string(或只是 meta.function-call support.function)的单独范围,你会没事的。对于您的第二条评论,您能否将其写为一个新问题并包含有关您正在做什么的详细信息?谢谢。
    • 很高兴知道你也尝到了!这些范围解决了我的一个问题,但又产生了另一个问题。新问题是函数名称在我调用它的地方没有改变它的颜色。现在我想离开这个调整程序,因为它浪费了我的时间和精力。无论如何,谢谢你的帮助。对于我的第二个评论问题,我搜索并发现在 ST3 中还不可能。
    • @Sachin 查看 ST4。您没有确切说明您在做什么来创建轮廓,但我知道它具有许多用于突出显示的新功能以及大量其他内容。我已经使用它一年多了,因为第一个 alpha 版本是在私人测试中,我喜欢它。
    猜你喜欢
    • 2016-09-29
    • 2018-02-23
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2019-03-01
    • 2015-06-11
    • 2014-09-18
    • 2014-05-17
    相关资源
    最近更新 更多