当前位置: 首页 > 知识库问答 >
问题:

VSCode语言扩展可以定义与主题系统分开的特定语法突出显示颜色吗?

郎泰平
2023-03-14

我正在为vscode创建一个语言扩展来描述一种语言,其中一些语法元素引用特定的颜色。我想用这些颜色给这些元素上色,不管使用什么主题,而不必要求用户选择我的特定自定义主题,而不是他们自己对其他一切的偏好。在现有的语言和主题定义系统中有没有办法做到这一点?

我的后备解决方案类似于https://github.com/KamiKillertO/vscode-colorize/,它在语法系统之外运行以动态评估代码,然后对其应用装饰器,但这对于我的需求来说是非常过分的,我可以用简单的匹配模式定义文本以突出显示。

共有1个答案

荀俊迈
2023-03-14

与您的其他问题类似,这是不可能的。着色是一个单一主题和任何用户自定义的组合。

我在我的语言扩展(ANTLR)中也有类似的需求,因为某些元素存在,而其他语言没有。所以我需要给它们特别上色。然而,这种元素的标识是基于动态lexer的,它为该元素分配了一个作用域。只有那些为该范围定义颜色的主题才有效果。因此,唯一的解决方案是,用户将您的特殊主题用于此类特殊元素,或者不突出显示这些元素,而不是默认设置。

 类似资料:
  • 我环顾四周,找不到一种自动完成这项工作的方法。所以: 我在vim中内置了一些语法高亮,我想转移到vscode。我至少有两个部分卡住了。 到目前为止,我的情况是这样的:我已经构建了一个vscode语言扩展——设置了一些基本的语法规则,并将其复制到vscode config文件夹中。 我遇到麻烦的部分-我可以在某些字段的含义中澄清一下-命名约定。 和语法的嵌套解析,这些东西只出现在其他元素中。 下面是

  • 我正在开发一种新的Markoff风格,它引入了一些新的语法元素。我已经手动修改了与VSCode捆绑在一起的文件,以便为它们实现一些语法突出显示。我现在想创建一个VSCode扩展,为Markoff的语法突出显示提供新的补充。 但是,我真的不认为复制粘贴原始的 Markdown 语法突出显示逻辑只是为了在顶部添加一些东西是一个好主意——有没有办法创建一个 语法突出显示文件,该文件继承(因为缺乏更好的词

  • Sublime Text 3中的相同代码: 默认VScode主题(深色),没有这个bug,所有函数名和方法都有相同的颜色。但是许多其他主题(例如monokai和Abyss)都有这个bug /feature. 我希望函数名称和方法具有相同的颜色(第10、11、13、16行)。理想情况下,所有行都像ST3-蓝色(第13行-绿色)。但是,如果它是绿色也没关系。 我阅读了范围命名链接,尝试比较不同的主题。

  • 问题内容: 有没有一种方法可以设置Windows 7的Aero主题中SWT表(FULL_SELECTION样式)的突出显示行的背景颜色?看来这是从表格的背景色派生而来的浅色。但是除此之外,我似乎对使用哪种颜色没有太多控制。 这对我们来说是个问题,因为我们某些表项的文本(前景)为灰白色,因此如果在浅色背景上选择该行,则很难阅读。我已经将表格的背景色设置为“黑色”,但是文本仍然很难看清。 关于如何控制

  • 我正在寻找一个用JavaScript编写的好的全方位语法荧光笔,它将自动检测所使用的语言并应用正确的语法高亮显示。 我从一个简单的谷歌搜索中找到了无数个,但它们都必须在

  • 我正在使用“彩虹”主题扩展。我喜欢颜色,除了评论,它们太暗了,无法阅读。我只想更改评论的颜色。我是否必须完成此操作(从现有彩虹主题生成Yo Code主题): 如何编辑Visual Studio Code的默认深色主题? 就为了做出这种改变?谢了。