如何禁用彩色括号?

How to disable colorized brackets?

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

我发布了一张图片,展示了我的编辑器配备了我的浅色主题以演示该问题。

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

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


我已经检查了每个设置,甚至尝试了明显的设置,如下图所示,但我仍然无法弄清楚如何关闭 bracketPairColorization 功能。


How do you completely disable the Colorized Brackets?

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

"editor.bracketPairColorization.enabled": false,

这是因为有 2 个不同的块指南功能 built-into bracketPairColorization 功能,以及一个 indent-guide 以大致相同的方式突出显示的功能。

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

{
    // Bracket-pair colorization
    "editor.bracketPairColorization.enabled": false, 

    // Bracket-pair guides
    "editor.guides.bracketPairsHorizontal": false,
    "editor.guides.highlightActiveBracketPair": false,

    // Indentation guides
    "editor.guides.indentation": false,
    "editor.guides.highlightActiveIndentation": false
}

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


简介


Disabling/Configuring 括号对着色和指南

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

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



第 2 部分


禁用 Bracket-pair 着色和 Bracket-pair 参考线

下面是 "tried -&- true" 方法完全禁用 bracketPairColorization, bracketPairColorization.guides & guides.indentation editor-features (或者最好输入 "editor.* features").

{
    // Bracket-pair Highlighting
    "editor.bracketPairColorization.enabled": false, 

    // Bracket-pair guides
    "editor.guides.bracketPairsHorizontal": false,
    "editor.guides.highlightActiveBracketPair": false,

    // Indentation guides
    "editor.guides.indentation": false,
    "editor.guides.highlightActiveIndentation": false
}


第 3 部分


禁用部分 Bracket-pair 着色

如果该功能的某些部分确实让您的皮开裂,但您喜欢其他部分,您可以指定特定的渲染、着色和 Bracket-pairs 的“onActive”高亮显示,以及缩进参考线(水平和/或垂直),使用如下所示的配置。


(3a) 利用彩色 Bracket-pairs 设置

事实上,我觉得此功能所需的配置的复杂性是 100% 合理的,因为您可以使用它来做什么。虽然我不同意它被默认激活。

下面演示了使用 Bracket-pair 着色可以做什么,这让它变得非常棒。如您所见,设置 "editor.language.colorizedBracketPairs": [ ... ] 正在下面的代码片段中配置。下面的数组对是该功能将突出显示的 bracket-pairs。换句话说,这就是定义突出显示哪些 bracket-pairs 的方法。禁用括号对着色的一种方法是简单地不将任何对分配给 colorizedBracketPairs 设置。您可以定义任何东西,从函数大括号到 markdown astriks ["***", "***"],再到 C Pre-processor 指令。当谈到这个设置时,世界就是你的主人。

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

(3b) 自定义缩进指南

您还可以通过分配除 true/false 适用时。

例如:
例如:下面的两个设置可以使用第三个 boolean-alternate 值进行配置:

下面的配置,配置 “括号对指南” 以仅突出显示活动块的活动指南,而没有其他指南。

  "editor.guides.bracketPairs": "active",
  "editor.guides.bracketPairsHorizontal": "active",

现在,如果你如何将下面的设置配置为 true,它不会做任何事情,如果 bracketPairs 也同时处于活动状态。

  "editor.guides.highlightActiveIndentation": false,

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



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

  "editor.guides.indentation": true,
  "editor.guides.highlightActiveIndentation": true,

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

  "editor.guides.bracketPairs": "active",
  "editor.guides.bracketPairsHorizontal": "active",
  "editor.guides.indentation": true,
  "editor.guides.highlightActiveIndentation": "always",

你有另一个选择是你可以设置 "Bracket-pair guides" 为 true,然后配置它们以突出显示活动块,如下所示:

  "editor.guides.bracketPairs": true,
  "editor.guides.bracketPairsHorizontal": true,
  "editor.guides.highlightActiveBracketPair": true,

第 4 部分


相关主题颜色

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

  "editor.guides.bracketPairs": true,
  "editor.guides.bracketPairsHorizontal": true,
  "editor.guides.highlightActiveBracketPair": true,

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

    "editorBracketPairGuide.background1": "#CC1177",
    "editorBracketPairGuide.background2": "#5544DD",
    "editorBracketPairGuide.background3": "#CC6622",
    "editorBracketPairGuide.background4": "#779428",
    "editorBracketPairGuide.background5": "#009944",
    "editorBracketPairGuide.background6": "#1155DD",

现在,如果您将 highlightActiveBracketPair 设置为 true,那么您关注的方块会更亮,或者颜色不同(这取决于下面的属性是如何配置的),激活的 bracketPairGuide使用这些 theme-properties:

着色
    "editorBracketPairGuide.activeBackground1": "#EE2288",
    "editorBracketPairGuide.activeBackground2": "#8844FF",
    "editorBracketPairGuide.activeBackground3": "#FF5C0C",
    "editorBracketPairGuide.activeBackground4": "#99CC33",
    "editorBracketPairGuide.activeBackground5": "#00CC88",
    "editorBracketPairGuide.activeBackground6": "#0077FF",

而实际的 bracket-pairs(或实际的括号本身)是使用这些属性着色的:

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

-&/或-

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