Visual Studio代码-语法突出显示颜色的含义

灾难亚当

我正在寻找有关Visual Studio Code中语法突出显示的每种颜色实际含义的参考。我目前正在使用深色默认主题Dark +。我已经习惯了识别几种突出显示的颜色,并且了解了要看的内容,但是我正在寻找有关每种颜色含义的更​​详细的参考。我已经搜索了一段时间,找不到列出颜色和含义的任何参考指南或词汇表/索引。不确定是否重要,但是我只是用JavaScript编写。先感谢您。

编辑:我已经包括了我所指语法突出显示类型的屏幕截图。

语法高亮

斯科特·麦克佩克

语法突出显示颜色的含义分为两部分:

  1. 文件中的字符如何组织成有意义的标记?
  2. 如何为这些标记分配特定的颜色和字体样式?

将文本分区为令牌

第一部分由VSCode内置的语法描述确定。VSCode使用基于TextMate语法的系统语法是在VSCode源代码中定义的(例如JavaScript.tmLanguage.json),但是以这种形式经历了两个后期处理阶段,使它们几乎不可读。没有关于这些语法文件的意图的文档。它们通常至少大致遵循相关的语言规范,但存在许多特殊的偏差。

了解定义令牌的最实用方法是使用命令面板(Ctrl + Shift + P)中的“开发人员:检查TM范围”工具。当您将光标放在标记上时,它将显示描述该标记的“作用域标签”。这些标签或多或少是人类可读的。

编辑2020-07-24:从VSCode 1.47开始(可能更早一点),该命令称为“开发人员:检查编辑器标记和作用域”。

例:

TM Scope检查器的屏幕截图

在上方,我们可以看到return关键字最具体地分类为keyword.control.flow.js位于Java语言源代码()中meta.block.js的函数定义(meta.function.js)中的括号括起来的代码块source.js)中。

That sequence of scope labels is the closest thing there is to a "meaning" for a token in VSCode.

Assigning colors to tokens

Next, there is the process of mapping that sequence of scope labels to a color and font style. That is done by the theme. In my case I am using Visual Studio Light, defined in the VSCode sources in light_vs.json. In the case of the return keyword, this is the applicable fragment:

        {
            "scope": "keyword.control",
            "settings": {
                "foreground": "#0000ff"
            }
        },

This says, basically, that anything with a scope label beginning with "keyword.control" shall have a blue color. But other fragments may override this one; the rules are somewhat complex. Why blue? It's an arbitrary aesthetic choice.

为什么functionNaN具有相同的颜色?语法为它们分配了不同的范围标签(storage.type.function.jsvs constant.language.nan.js),但是恰好您正在使用的主题(Dark +)为它们分配了相同的颜色(与我的一样)。我发现这是一个奇怪的选择,但只能推测原因。

自定义颜色

您没有问,但是接下来的一个明显问题是如何自定义这些颜色,例如给定颜色functionNaN其他颜色。看到这个答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Visual Studio Code中更改突出显示的文本颜色

Visual Studio:Tab键选择并突出显示代码

自定义Visual Studio Code中的语法突出显示

设置语言以在Visual Studio Code中突出显示语法

Visual Studio 2015 JSX / ES2015语法突出显示

在Visual Studio中突出显示泛型类型的语法

Visual Studio 2015中的ReactJS(JSX)语法突出显示

Visual Studio C#代码的颜色

Visual Studio 2017中的SQL语法突出显示

在Visual Studio Code C ++扩展中突出显示错误语法

Visual Studio代码删除标签突出显示

获取Visual Studio代码以语法突出显示无扩展名的文件作为bash脚本?

Visual Studio 2017 CSHTML语法突出显示不起作用

Visual Studio代码扩展和样式语法

CMakeLists.txt的Visual Studio Code语法突出显示

删除Visual Studio Code当前代码块突出显示

Visual Studio代码颜色主题无法使用

有没有一种方法可以在Visual Studio Code中更改语法突出显示的背景颜色

Visual Studio语法突出显示如何工作?

Visual Studio 2019黑暗主题:如何使用默认语法突出显示将代码复制和粘贴到MS Word?

Visual Studio Code语法突出显示不起作用

Visual Studio红色突出显示的代码行

将颜色主题从Visual Studio代码移植到Visual Studio

在Monarch中编写Visual Studio代码语法

Visual Studio在同时加载多个实例时显示错误的语法突出显示颜色

Visual Studio 2015制作颜色代码

Visual Studio 代码不突出显示 .pug 文件吗?

使用visual studio语法高亮php代码中的颜色

Visual Studio Mac 突出显示代码中的警告