JavaScript VScode 中的颜色突出显示错误

JavaScript color highlighting error in VScode

我全新安装了 VScode 编辑器 (v.1.14.2)。没有任何已安装的扩展。我在非常简单的文件中突出显示 javaScript 时遇到问题。

Sublime Text 3 中的相同代码:

默认VScode主题(深色+),没有这个错误,所有函数名和方法都有相同的颜色。但是许多其他主题(例如 monokai 和 Abyss)都有这个 bug/feature.

我希望函数名称和方法具有相同的颜色(第 10、11、13、16 行)。理想情况下,所有行都像 ST3 中的那样 - 蓝色(第 13 行 - 绿色)。但是,如果它是绿色的就可以了。

我读了scope naming link,尝试比较不同的主题。安装所有基于 monokai 的主题,但所有主题都有此错误。我试图创建一个新的,但我没有做我需要的。

那么,是否可以解决这个问题?

您可以使用vscode 命令Developer: Inspect TM Scopes 进行范围检查。这种颜色变化是因为 vscode 认为 click()addEventListener()... 是特殊的 DOM 相关属性,应该突出显示。

解决方法是修改

中的 monokai-color-theme.json

Microsoft VS Code\resources\app\extensions\theme-monokai\themes.

在此数组中"tokenColors": []添加:

{
    "name": "DOM & invocation color fix",
        "scope": "meta.function-call.js entity.name.function, meta.function-call.js support.function.dom.js",
            "settings": {
        "foreground": "#66D9EF"
    }
}

这将使函数调用和 DOM-方法像 sublime 一样。

P.S。如果主题更新,它很可能会覆盖此文件。

编辑:

从某些版本开始,可以通过 settings.json Ctrl+,

修改主题
"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": ["meta.function-call.js entity.name.function", 
                "meta.function-call.js support.function.dom.js"],
            "settings": {
                "foreground": "#66D9EF"
            }
        }
    ]
}

你的函数不应该有结束行“;”添加。但是,您的变量 test 应该有一个,这是一个简单的语法错误,并不总是会被捕获。这个 post 晚了几年,但它出现在搜索中,上面的建议工作量太大。