如何禁用彩色括号?

Ant*_*sto 18 configuration visual-studio-code

当我使用 VS Code 时,我会根据一天中的时间和房间的灯光配备浅色或深色主题。问题是当我装备浅色主题时,

我发布了一张我的编辑器的外观图像,其中配备了我的浅色主题来演示该问题。

我尝试了BracketPairColorization.enable: "false"如最下面的图片所示,但它不起作用。

有没有办法可以禁用为括号对着色的主题属性,或者设置禁用有效的彩色括号对?

在此输入图像描述


我检查了每一个设置,甚至尝试了显而易见的设置,如下图所示,但我仍然无法弄清楚如何关闭括号对颜色化功能。

在此输入图像描述


如何完全禁用彩色括号?

JΛY*_*ÐΞV 50

VS Code 默认启用了括号对着色功能。这导致许多人寻找一种禁用该功能的方法,但是故事的内容不仅仅是简单地使用:

\n
"editor.bracketPairColorization.enabled": false,\n
Run Code Online (Sandbox Code Playgroud)\n

这是因为括号对颜色化功能中内置了两种不同的块引导功能,以及以大致相同的方式突出显示的缩进引导功能。

\n

要禁用所有括号对着色和参考线,您需要执行以下操作。

\n
{\n    // Bracket-pair colorization\n    "editor.bracketPairColorization.enabled": false, \n\n    // Bracket-pair guides\n    "editor.guides.bracketPairsHorizontal": false,\n    "editor.guides.highlightActiveBracketPair": false,\n\n    // Indentation guides\n    "editor.guides.indentation": false,\n    "editor.guides.highlightActiveIndentation": false\n}\n
Run Code Online (Sandbox Code Playgroud)\n

要了解如何仅禁用部分功能或有关此功能的更多一般信息,请参阅以下部分

\n
\n

介绍

\n
\n

禁用/配置括号对着色和指南

\n

VS Code 的 “括号对着色”功能让许多开发人员感到沮丧。最近它被默认激活,人们对此感到不安。问题不在于实际功能本身,而在于该功能具有启用/禁用设置,当设置为禁用该功能时,该设置似乎不会关闭该功能。如果您尝试关闭此功能,但最终无法做到这一点,请确实感到生气或对自己感到不安(这就是我在类似情况下所做的),而且大多数人都经历过同样的困难;这个功能并没有将其“让用户感到沮丧”仅限于那些希望完全禁用它的人,事实是,该功能是高度可定制的,它实际上包含了大约 3 个不同的功能,并且很难理解。对于第一次尝试配置它的人来说是关闭的。

\n

\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 执行此操作的最佳方法是演示用于完全禁用该功能的配置。然后,我将引导您完成每个设置,并解释它们的作用以及它们附加的主题属性。

\n
\n
\n

第2部分

\n
\n

禁用括号对着色和括号对参考线

\n

下面是一个“尝试过的 -&- true”方法,用于完全禁用, bracketPairColorization&bracketPairColorization.guides编辑guides.indentation器功能(或者输入features”可能会更好 )。editor.*

\n
{\n    // Bracket-pair Highlighting\n    "editor.bracketPairColorization.enabled": false, \n\n    // Bracket-pair guides\n    "editor.guides.bracketPairsHorizontal": false,\n    "editor.guides.highlightActiveBracketPair": false,\n\n    // Indentation guides\n    "editor.guides.indentation": false,\n    "editor.guides.highlightActiveIndentation": false\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\n
\n

第三部分

\n
\n

禁用部分括号对着色

\n

如果该功能的某些部分确实会破坏您的隐藏功能,但您喜欢其他部分,则可以指定特定的渲染、着色和括号对的“onActive”突出显示以及缩进参考线(水平和/或垂直) ),使用如下所示的配置。

\n
\n

(3a) 利用彩色括号对设置

\n

事实上,我认为此功能所需配置的复杂性 100% 取决于您可以使用它做什么。虽然我不同意默认激活它。

\n

下面演示了如何使用括号对着色来实现它,这使得它变得如此出色。如您所见,该设置"editor.language.colorizedBracketPairs": [ ... ]是在下面的代码片段中配置的。下面的数组对是该功能将突出显示的括号对。换句话说,这就是如何定义突出显示哪些括号对。禁用括号对着色的一种方法是简单地不将任何对分配给设置colorizedBracketPairs。您可以定义从函数大括号到降价星号的所有内容["***", "***"]到 C 预处理器指令的所有内容。在这种环境下,世界就是你的主人。

\n
    "editor.language.colorizedBracketPairs": [\n        ["{", "}"], // Block-Scoped Braces/Function-Braces\n        ["[", "]"], // Array Square-brackets\n        ["(", ")"], // Func Call-args/Declaration-params Brackets\n        ["<", ">"], // HTML/XML Tags\n        ["\\"", "\\""], // String Quotations\n        ["_", "_"], // Markdown: Italicized\n        ["**", "**"], // Markdown: Bold\n        ["**_", "_**"], // Markdown: Italicized & Bold\n        ["{{", "}}"], // Double Curly Brackets\n        ["`", "`"], // Back-tics\n        ["#ifndef", "#endif"], // Highlight C Directives as pairs\n        ["<%", "%>"], // Wrapping variables in JSON\n        ["${", "}"], // Wrapping template variables in JS/TS\n        ["$(", ")"] // Wrapping of template variables in BASH\n    ]\n
Run Code Online (Sandbox Code Playgroud)\n
\n

(3b) 自定义缩进指南

\n

您还可以通过在适用的情况下指定 true/false 以外的值来自定义“括号对着色参考线”“缩进参考线” 。

\n
例如:
\n
例如:可以使用第三个布尔替代值来配置以下两个设置:
\n

下面的配置将“括号对参考线”配置为仅突出显示活动块的活动参考线,而不突出显示其他参考线。

\n
  "editor.guides.bracketPairs": "active",\n  "editor.guides.bracketPairsHorizontal": "active",\n
Run Code Online (Sandbox Code Playgroud)\n
\n

现在,如果您将下面的设置配置为 true,那么如果括号对同时也处于活动状态,它将不会执行任何操作。

\n
  "editor.guides.highlightActiveIndentation": false,\n
Run Code Online (Sandbox Code Playgroud)\n

上面代码片段中的设置editor.guides.highlightActiveIndentation是一对设置的一部分,用于自定义一项功能,该功能早在括号对出现之前就已成为 VS Code 的一部分。

\n
\n
\n

注意:如果您将以下设置设置为true,并且也设置"editor.guides.bracketPairs"true,则最终结果是过度突出显示的编辑器。您将看到缩进参考线在不同级别突出显示,因为括号对的工作方式与缩进参考线不同。括号对参考线尝试突出显示使用语言定义的块,而缩进参考线使用分配的值来"tab.width": number?确定突出显示的位置。这会导致缩进在许多情况下突出显示两次。

\n
  "editor.guides.indentation": true,\n  "editor.guides.highlightActiveIndentation": true,\n
Run Code Online (Sandbox Code Playgroud)\n
\n

由于某种原因,他们做了一个设置来帮助您同时配置这两个,我不建议这样做,但它是分配给"highlightActiveIndentation". 如果您确实想用括号对打开它们,下面显示了如何操作。

\n
  "editor.guides.bracketPairs": "active",\n  "editor.guides.bracketPairsHorizontal": "active",\n  "editor.guides.indentation": true,\n  "editor.guides.highlightActiveIndentation": "always",\n
Run Code Online (Sandbox Code Playgroud)\n

您的另一个选择是可以将“括号对参考线”设置为 true,然后将它们配置为突出显示活动块,如下所示:

\n
  "editor.guides.bracketPairs": true,\n  "editor.guides.bracketPairsHorizontal": true,\n  "editor.guides.highlightActiveBracketPair": true,\n
Run Code Online (Sandbox Code Playgroud)\n
\n

第四部分

\n
\n

相关主题颜色

\n

因此,如果我们看一下上面的最后一个片段(我将在下面再次发布)...

\n
  "editor.guides.bracketPairs": true,\n  "editor.guides.bracketPairsHorizontal": true,\n  "editor.guides.highlightActiveBracketPair": true,\n
Run Code Online (Sandbox Code Playgroud)\n

...您可以看到所有括号对都已打开(因此它们是彩色的),但活动的括号对突出显示。其工作方式是,在主题或settings.json文件中,使用"workbench.colorCustomizations": {},设置,括号对的标准颜色在 6 个不同的块(或范围)级别上着色为不同的颜色。分配这些颜色的颜色属性如下所示:

\n
    "editorBracketPairGuide.background1": "#CC1177",\n    "editorBracketPairGuide.background2": "#5544DD",\n    "editorBracketPairGuide.background3": "#CC6622",\n    "editorBracketPairGuide.background4": "#779428",\n    "editorBracketPairGuide.background5": "#009944",\n    "editorBracketPairGuide.background6": "#1155DD",\n
Run Code Online (Sandbox Code Playgroud)\n
\n

现在,如果您已highlightActiveBracketPair设置为true,那么您关注的块会更亮,或者是不同的颜色(这取决于下面的属性的配置方式),活动的括号PairGuide 使用这些主题属性进行着色:

\n
    "editorBracketPairGuide.activeBackground1": "#EE2288",\n    "editorBracketPairGuide.activeBackground2": "#8844FF",\n    "editorBracketPairGuide.activeBackground3": "#FF5C0C",\n    "editorBracketPairGuide.activeBackground4": "#99CC33",\n    "editorBracketPairGuide.activeBackground5": "#00CC88",\n    "editorBracketPairGuide.activeBackground6": "#0077FF",\n
Run Code Online (Sandbox Code Playgroud)\n
\n

实际的括号对(或实际的括号本身)使用以下属性进行着色:

\n
    "editorBracketHighlight.foreground1": "#CC1177",\n    "editorBracketHighlight.foreground2": "#5544DD",\n    "editorBracketHighlight.foreground3": "#CC6622",\n    "editorBracketHighlight.foreground4": "#779428",\n    "editorBracketHighlight.foreground5": "#009944",\n    "editorBracketHighlight.foreground6": "#1155DD",\n    "editorBracketHighlight.unexpectedBracket.foreground": "#DD100C",\n
Run Code Online (Sandbox Code Playgroud)\n
欲了解更多信息,请访问:
\n
https://code.visualstudio.com/blogs/2021/09/29/bracket-pair-colorization
\n

-&/或者-

\n
https://code.visualstudio.com/updates/v1_60#_high-performance-bracket-pair-colorization
\n

  • 谢谢你!默认情况下启用此功能有点烦人。 (2认同)