VSCode括号匹配高亮不工作,首要检查editor.matchBrackets是否启用(默认开启但可能被关闭),其次确认语言模式正确(如JSX、正则等特殊场景不支持原生匹配),可安装bracket-pair-colorizer-2插件增强功能。

VSCode 括号匹配高亮不工作?先确认 editor.matchBrackets 开启了
默认是开的,但插件或重装后可能被关掉。这不是 bug,是配置开关没打开——很多人搜“括号不匹配”却忘了查这个基础项。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置 - 搜
matchBrackets,确保Editor > Match Brackets是勾选状态 - 如果用
settings.json手动配,确认有这一行:"editor.matchBrackets": "always"(值可选"always"、"near"或"never";"always"最可靠)
嵌套太深时括号高亮消失?和语言模式与语法解析有关
不是 VSCode 失效,是当前文件的语言模式(Language Mode)没正确识别括号结构,尤其在模板字符串、正则字面量、JSX 或自定义 DSL 里。
- 右下角状态栏看当前语言标识(比如显示
Plain Text却在写 Vue),点它手动切到正确模式(如Vue、TypeScript React) - JSX 中
{}是表达式容器,不是传统括号对,VSCode 默认不把它纳入matchBrackets范围——别指望它高亮 JSX 的{和} - 正则中
/[a-z]+/g的[和]也不会被匹配,因为语法解析器认为它属于字符串字面量内部
想让 { [ ( 全部高亮且响应更快?换用 bracket-pair-colorizer-2 插件
原生 matchBrackets 只加背景色,且只标出光标所在括号的配对项;第三方插件能分层染色、支持更多符号、响应更灵敏,但要注意兼容性。
- 安装插件
bracket-pair-colorizer-2(注意后缀是-2,旧版已停更) - 它默认启用所有括号类型,无需额外配置;但若和主题冲突(比如暗色主题下粉色太刺眼),可在
settings.json加:"bracketPairColorizer-2.disabledBracketPairs": ["\""] - VSCode 1.84+ 启用了新的语法高亮引擎(TextMate → Semantic Token),部分插件会短暂失效——如果装了插件却没反应,重启 VSCode 或禁用
editor.semanticHighlighting试试
光标在括号内但没高亮?检查是否触发了「括号内无内容」的弱匹配逻辑
VSCode 原生匹配逻辑有个隐藏行为:当光标落在空括号中间(如 func(|),竖线是光标),有时不触发高亮;移到括号边缘(func(|) → 移到 ) 上)才生效。
- 这不是 bug,是设计取舍:避免在大量空参数调用中频繁闪烁
- 想强制响应,可以改用插件方案(上一条提到的
bracket-pair-colorizer-2就没这限制) - 或者临时把光标挪到括号符号上再移回来,多数时候能“唤醒”匹配


















