vscode1.62原生代码块边缘导轨着色与Bracket Pair Colorizer的对标和差异化(附配置)

前言

听闻 vscode1.62 已发布,相信聪明的 vscode 使用者已经在 vscode1.61 要升级为 1.62 ,或已升级为 1.62 ,虽然本次 1.62 的版本变化没有 awesome 级别的 feature ,但格外引人注意的就是与 Bracket Pair Colorizer 这个插件的对标和差异化。

对标

追溯古老的 vscode 1.60 版本,官方开始提供更好的正则引擎去识别括号并附加彩色着色,就已经开启了 Bracket Pair Colorizer 的对标时代,详情可见下文:

《 vscode1.60 原生高性能括号着色无缝迁移方案(等价Bracket-Pair-Colorizer) 》

虽然当时波及 Vetur 的 vue template 引发了一小波不兼容,但是随后的跟进(本人也参与到了其中 push),括号的问题就算是完美解决了从 Bracket Pair Colorizer 插件到 原生 vscode 着色 方案的无缝迁移替换。

但随后一些 Bracket Pair Colorizer 的忠实粉丝认为,vsc 在代码区块导轨着色方面做的不完美,以下是 Bracket Pair Colorizer 的效果:

这个着色导轨(Improved bracket pair guides)到了 < 1.62 版本的 vsc 中时,即开启了 editor.guides.bracketPairs 后代码缩进异常时会有很丑陋的交错现象发生。

那么到了 vsc 1.62 是怎么解决的呢?

现状

到了 vsc 1.62 官方开始采取了一种 “差异化” 方案,不再是完美对标:

↑ 可以看到新 vsc 里, Improved bracket pair guides 将是会被代码块所带着移动的!

而这一行为在 Bracket Pair Colorizer 是固定不变的。

其实各有各的好坏:

  1. 认为以前就很清真画个条条框框有点颜色区分就够了,那自然认为 Bracket Pair Colorizer 插件好。

  2. 认为确实需要严格的包裹 代码块 的边缘导轨,即使尾括号缩进异常,也要真正履行包裹区分的,自然觉得 vsc 实现的比较好。

可实际上这点小差异,我们应该能很快进行视觉适应,所以说了这么多,不多废话,直接上新的导轨着色迁移配置:

  "workbench.colorCustomizations": {
    "editorBracketHighlight.foreground1": "#ffd700",
    "editorBracketPairGuide.activeBackground1": "#ffd7007f",
    "editorBracketHighlight.foreground2": "#da70d6",
    "editorBracketPairGuide.activeBackground2": "#da70d67f",
    "editorBracketHighlight.foreground3": "#87cefa",
    "editorBracketPairGuide.activeBackground3": "#87cefa7f",
    "editorBracketHighlight.foreground4": "#ffd700",
    "editorBracketPairGuide.activeBackground4": "#ffd7007f",
    "editorBracketHighlight.foreground5": "#da70d6",
    "editorBracketPairGuide.activeBackground5": "#da70d67f",
    "editorBracketHighlight.foreground6": "#87cefa",
    "editorBracketPairGuide.activeBackground6": "#87cefa7f",
    "editorBracketHighlight.unexpectedBracket.foreground": "#ff0000",
  },
  // 开启原生括号着色
  "editor.bracketPairColorization.enabled": true,
  // 开启 active 时的代码块边缘导轨线着色(和 Bracket Pair Colorizer 行为一致)
  "editor.guides.bracketPairs": "active",

其中新增的选项其实就是:

  "editor.guides.bracketPairs": "active" // or true false
  "editorBracketPairGuide.activeBackground{1...6}": "#da70d67f"
  "editorBracketPairGuide.activeBackground{1,...,6}": "#da70d67f" // 一般用不到,你不会去更改背景的颜色

建议尽早放弃使用性能差的 Bracket Pair Colorizer 插件,快速适应 vsc 的原生支持系列功能,拥抱变化才是王道。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值