如何在Visual Studio 2017中更改括号高亮的颜色?

10

我正在尝试配置Visual Studio 2017(版本15.6.6,使用“Light”主题)中的括号高亮显示,但我无法使其正常工作,并且我不知道是我做错了还是这个功能有问题。

我希望Visual Studio将匹配的括号变成红色,而不是默认的灰色背景。

通过转到工具->选项->环境->字体和颜色,我发现三个设置:

  • 括号匹配
  • 括号匹配(突出显示)
  • 括号匹配(矩形)

显然,前两个设置都没有任何作用。我尝试将前景色和背景色设置为不同的颜色,但我看不到任何改变,即使重新启动后也是如此。唯一起作用的设置是第三个,我可以像预期的那样更改背景矩形的颜色。但这不是我想要的。

为什么前两个设置没有作用?这是一个错误吗?如何使匹配的括号变成红色?

我在关于Visual Studio 2013Visual Studio 2015上找到了其他问题。它们没有帮助,后者证明是一个错误。这是另一个错误吗?


有任何已安装的扩展可以阻止或忽略新颜色吗? - Lord_Curdin
我不这么认为。我觉得这些设置在一段时间以前是正常工作的,可能是在我安装了Clang for Visual Studio之后停止工作的。但是这两者应该完全无关! - Fabio says Reinstate Monica
1
可能是因为使用了 ReSharper ,解决方法为:ReSharper -> 选项 -> 编辑器 -> 编辑器外观 -> 当光标在匹配的定界符上时突出显示。将其取消勾选,然后 Visual Studio 的设置就不会被忽略了。 - Ademar
@Ademar,你的评论对我来说是一个答案,它起作用了,谢谢(如果你想的话,可以发布一个答案)。 - Antoine Pelletier
6个回答

16

2
VSCodebracket-pair-colorizer 扩展程序: https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer - Tony
Visual Studio 2022 V17.6新增了“括号对着色”功能。 - Mr. Squirrel.Downy

6

工具 > 选项 > 环境 > 字体和颜色 > 大括号匹配 > 项目背景设置为您的颜色。

这是我所使用的所有大括号匹配设置:

  • 大括号匹配:项目前景:绿色,项目背景:绿色,加粗:已选中
  • 大括号匹配(高亮):项目前景:绿色,加粗:已选中

  • 大括号匹配(矩形):项目前景:似乎已禁用,
    项目背景:自动、自定义,加粗:已选中

Visual Studio Community 2017

希望对您有所帮助


括号匹配(矩形)。个人设置红色,以便在使用时能够清晰地看到! - lllllllllllllIllllIll

0

当您使用ReSharper时,您还必须设置ReSharper匹配的括号的颜色(它在所有Visual Studio颜色设置的相同列表中)。


0

这是用于覆盖括号高亮颜色的大括号匹配(矩形)颜色。 自定义颜色括号


我不明白你的意思。你是说“括号匹配(矩形)”设置取消了其他两个的效果吗?但看起来没有办法禁用它。 - Fabio says Reinstate Monica

0

前往文件/首选项/设置

在设置中点击扩展,然后选择BracketPair(您必须先下载此扩展程序才能显示在此处)。在BracketPair设置页面上,将鼠标悬停在Bracket Pair Colorizer:Color Mode选项上,然后会出现一个设置图标,请单击该图标,并选择复制设置为JSON。括号设置

从下拉菜单中,您可以选择连续或独立。单击Bracket Pair Colors下面的Edit in setting.json链接,它将打开一个带有要编辑的JSON选项的选项卡。根据您的选择,您将看到不同的JSON选项。请记住,您可以在用户设置和工作区设置中更改这些选项。 在用户设置选项卡中,如果单击Edit in setting.json链接,则设置.JSON如下所示:

{
"workbench.iconTheme": "material-icon-theme",
"http.proxyStrictSSL": false,
"editor.tabSize": 2,
"editor.detectIndentation": false,
"liveServer.settings.donotShowInfoMsg": true,
"workbench.colorTheme": "Solarized Light",
"editor.accessibilitySupport": "off",
"editor.colorDecorators": false,
"editor.highlightActiveIndentGuide": false

}

现在您可以将之前复制的“复制设置为JSON”粘贴到JSON的最后一行,您的JSON应该如下所示:
{
"workbench.iconTheme": "material-icon-theme",
"http.proxyStrictSSL": false,
"editor.tabSize": 2,
"editor.detectIndentation": false,
"liveServer.settings.donotShowInfoMsg": true,
"workbench.colorTheme": "Solarized Light",
"editor.accessibilitySupport": "off",
"editor.colorDecorators": false,
"editor.highlightActiveIndentGuide": false,
"bracketPairColorizer.consecutivePairColors": [
  [
    "()",
    [
      "Green",
      "Orchid",
      "LightSkyBlue"
    ],
    "Red"
  ],
  [
    "[]",
    [
      "Blue",
      "Orchid",
      "LightSkyBlue"
    ],
    "Red"
  ],
  [
    "{}",
    [
      "Red",
      "Orchid",
      "LightSkyBlue"
    ],
    "Red"
  ]
]

}

我将所有的金色更改为绿色、蓝色和红色。

请注意,我在“bracketPairColorizer.independentPairColors”上更改了键名,这是我的VS Code设置的默认值,以反映Bracket Pair Colorizer下拉选项中的选项“bracketPairColorizer.consecutivePairColors”。如果您最终选择了Independent,请记得将其作为independentPairColors键名。

要在Workspace Settings选项卡中应用此设置,当您单击链接WorkSpace Settings时,它将打开一个settings.json文件,在其中您有以下内容:

{  "bracketPairColorizer.independentPairColors": [
[
  "()",
  [
    "Blue",
    "Orchid",
    "LightSkyBlue"
  ],
  "Red"
],
[
  "[]",
  [
    "Blue",
    "Orchid",
    "LightSkyBlue"
  ],
  "Red"
],
[
  "{}",
  [
    "Blue",
    "Orchid",
    "LightSkyBlue"
  ],
  "Red"
]

请记住,根据您在下拉菜单中选择的选项,连续或独立,您需要更改键名 "bracketPairColorizer.independentPairColors"。


6
谢谢,但我的问题是关于Visual Studio,而不是Visual Studio Code!尽管名称相似,但它们是非常不同的。 - Fabio says Reinstate Monica
谢谢@rodvind,你的解决方案帮助我在VSCode中修复了同样的问题 :) - Tony

-4

括号对着色已成为最新更新的本机VS Code功能。您可以在settings.json文件中更改颜色。

{
  "editor.bracketPairColorization.enabled": true,
  "workbench.colorCustomizations": {
  "editorBracketHighlight.foreground1": "#5caeef",
  "editorBracketHighlight.foreground2": "#dfb976",
  "editorBracketHighlight.foreground3": "#c172d9",
  "editorBracketHighlight.foreground4": "#4fb1bc",
  "editorBracketHighlight.foreground5": "#97c26c",
  "editorBracketHighlight.foreground6": "#abb2c0",
  "editorBracketHighlight.unexpectedBracket.foreground": "#db6165"
},
}

3
谢谢,但我的问题是关于Visual Studio,而不是Visual Studio Code!尽管它们名字相似,但它们非常不同。 - Fabio says Reinstate Monica
同意!这个名字看起来很相似,你不能在VS Code中打开你的Visual Studio项目吗?以享受最新的本地支持。 - Ajay Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接