在Visual Studio Code中是否可以自定义括号的高亮显示?似乎用户设置、工作区设置以及TextMate主题几乎可以自定义所有其他选项。无论您使用何种语法高亮方案,花括号始终具有相同的浅灰色轮廓/矩形框。我没有找到现有的用户/工作区设置或TextMate范围来解决这个特定功能。
最终,我希望匹配的括号能够以纯色高亮显示,类似于Visual Studio 2013和2015中默认的暗色主题。
在Visual Studio Code中是否可以自定义括号的高亮显示?似乎用户设置、工作区设置以及TextMate主题几乎可以自定义所有其他选项。无论您使用何种语法高亮方案,花括号始终具有相同的浅灰色轮廓/矩形框。我没有找到现有的用户/工作区设置或TextMate范围来解决这个特定功能。
最终,我希望匹配的括号能够以纯色高亮显示,类似于Visual Studio 2013和2015中默认的暗色主题。
为了以后的参考,现在vscode有一种选项可以通过将以下内容添加到settings.json来更改括号高亮颜色:
"workbench.colorCustomizations" : {
"editorBracketMatch.background": "#f008",
"editorBracketMatch.border": "#f00"
}
rgba(255,255,255,1)
format that seems to work in other places in the settings file appears to not work here.
只有一个功能与此相关的仍然缺失,即当光标位于括号之间时高亮显示。只有当其中一个括号被选中时才会高亮。我在设置或工作台.颜色自定义中没有找到当前解决方案。
更新于2018年04月21日 现在有一个名为Bracket Pair Colorizer的插件,它会在当前括号旁边显示行号,无论光标放在哪里。但是在较慢的硬件上(第三代i5笔记本电脑),我在编辑大文件(3000+行php文件)时遇到了一些减速问题。另一个表现良好且可以突出显示当前缩进的插件是Guides。
更新于2019年11月10日 VSCode 1.40现在突出显示包围光标的括号。
更新于2021年08月09日 正如@desilicius在评论中提到的,Bracket Pair Colorizer已不再由作者维护。他提供了Blockman - Highlight Nested Code Blocks作为替代品,它具有相同的功能但外观完全不同,以及Highlight Matching Tag,这是一个很棒的插件,但只能在html(和jsx)标签上工作,正如其名称所示。
更新于2021年08月13日 VSCode团队决定将括号配对着色作为内置功能添加。目前正在进行改进,速度比BPC2提高了10,000倍。讨论可以在此处找到。
"subtleBrackets.bracketPairs": [
"{}",
"[]",
"()",
"<>"
],
"subtleBrackets.styles": {
"global": {
"color": "yellow",
"borderWidth": "1px",
"borderStyle": "none none solid none"
}
}
"editor.matchBrackets": false
subtleBrackets
不适用于 .vue
文件。 - zerohedge自定义括号高亮将在 VSCode 1.76(2022 年 2 月)更加精确,通过 问题 170497 和 PR 172758:它支持对匹配的括号的 子集 进行着色。
例如:
"[plaintext]": {
"editor.language.brackets": [
["{", "}"],
["(", ")"],
["[", "]"]
],
"editor.language.colorizedBracketPairs": [
["{", "}"],
["<", ">"]
]
},
给出:
今天您可以使用VSCode Insiders。
settings.json
文件中: "editor.bracketPairColorization.enabled": true
如果您想要移除括号的颜色和边框,您可以在您的settings.json
中使用带有0
不透明度的十六进制颜色:
"workbench.colorCustomizations": {
"editorBracketMatch.border": "#ffffff00",
"editorBracketMatch.background": "#ffffff00",
}
您可以覆盖任何主题:
"workbench.colorCustomizations": {
"[*]": {
"editorBracketMatch.border": "#ffffff00",
"editorBracketMatch.background": "#ffffff00",
}
}
*
。对于那些正在进行真正的自定义CSS以适应VS-Code的人来说,如果他们正在寻找实际的CSS类,那么要编辑的类以调整选定括号的显示是.bracket-match
。以下是我在VS-Code中为匹配的括号对添加自定义动画的示例。
.bracket-match{
border-radius:20%;
background: linear-gradient(270deg, rgba(255, 154, 162, .5), rgba(255, 183, 178, .5), rgba(255, 218, 193, .5), rgba(226, 240, 203, 0.5), rgba(199, 206, 234, 0.5), rgba(199, 206, 234, 0.5));
background-size: 1000% 100%;
color: transparent;
border-bottom:0px !important;
outline: 1px solid rgba(255, 255, 255, 1);
animation: outlineExpand .6s linear 1, flowBkg 1s linear infinite running;
transform:translate(1px, 0px);
}
@keyframes flowBkg {
0%{background-position:0% 51%}
100%{background-position:100% 50%}
}
@keyframes outlineExpand{
0%{
outline-width: 3px;
outline-color: rgba(255,70,70,.3);
}
100%{
outline-width: 10px;
outline-offset:30px;
outline-color: rgba(255,70,70,.3);
}
}