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

前言

我们的 vscode 真的是太厉害了,在最新的 v1.60 版本中原生支持了 高性能 的多层级括号彩色着色。

回顾历史,多层级括号着色由伟大的 Bracket-Pair-Colorizer 插件提供,由于匹配引擎低效的原因,作者从 v1 又开了一个新 repo 作为 v2 ,即使如此,v2 的问题 case 也频出,远远没有 v1 好用,所以我作为这个插件的忠实使用者也一直在用 v1 版本。

但现在不一样了,时代变了大人。

vscode 1.60 更新日志:August 2021 (version 1.60)

多层级括号着色说明:High performance bracket pair colorization

无缝迁移

直接上代码:

  // settings.json
  
  "editor.bracketPairColorization.enabled": true,
  "workbench.colorCustomizations": {
    "editorBracketHighlight.foreground1": "#ffd700",
    "editorBracketHighlight.foreground2": "#da70d6",
    "editorBracketHighlight.foreground3": "#87cefa",
    "editorBracketHighlight.foreground4": "#ffd700",
    "editorBracketHighlight.foreground5": "#da70d6",
    "editorBracketHighlight.foreground6": "#87cefa",
    "editorBracketHighlight.unexpectedBracket.foreground": "#ff0000"
  }

到这里为止,多层级彩色括号已经无缝迁移完成,卸载或者禁用 Bracket-Pair-Colorizer 插件即可。

对有兴趣的读者,下面我们细说来源。

对于 Bracket-Pair-Colorizer 插件来说,默认支持三层着色,默认值为:

  "bracket-pair-colorizer-2.colors": ["Gold" ,"Orchid", "LightSkyBlue"]

但 vscode 原生支持的 theme 主题括号配色方案只支持设定 rgb 格式,我们将其转为 rgb 即为:

  "Gold" -> "#ffd700"
  "Orchid" -> "#da70d6"
  "LightSkyBlue" -> "#87cefa"

对应 vscode theme 配置项为 workbench.colorCustomizations 下面的 editorBracketHighlight.foreground1 从 1 到 6 ( vscode theme color - Editor colors

我们重复两遍配置上即可,对于有个人 diy 的也可以按照这个循环配满 6 个。

而对于错误匹配不识别的括号,在 Bracket-Pair-Colorizer 中选项对应:

  "bracket-pair-colorizer-2.unmatchedScopeColor": "Red"

转换为新 vscode 支持配置即为:

  "editorBracketHighlight.unexpectedBracket.foreground": "#ff0000"

下面看实战对比演示。

对比演示

常规测试

1.6 原生

识别正常。

Bracket-Pair-Colorizer 插件

识别正常。

压力测试
打包产物超长单行代码

1.6 原生

速度:打开文件瞬间着色

Bracket-Pair-Colorizer 插件

速度:5 s 后才和 theme 一同着色,刚打开全白。

边缘测试
复杂深层多种类对象

1.6 原生

识别正常。

Bracket-Pair-Colorizer 插件

识别正常。

复杂多层级多种类模板字符串

1.6 原生

识别正常

Bracket-Pair-Colorizer 插件

模板字符串中套中套 + 换行,出现问题!

在这个 case 下,将导致后面的对象括号全部识别崩溃,造成大面积影响。

总结

不得不说原生支持的性能就是强大,而且不存在 corner case ,即刻起:

  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Bracket Pair Colorizer 1和Bracket Pair Colorizer 2是两个常用的Visual Studio Code扩展,用于在代码中对括号进行配对和着色,从而提高代码的可读性。它们的差别主要集中在以下几个方面: 1. 功能:Bracket Pair Colorizer 1和Bracket Pair Colorizer 2都可以对括号进行配对和着色,但它们使用了不同的算法。Bracket Pair Colorizer 2在匹配括号时更加智能,且性能更好。它还支持对多个括号样式进行自定义配置,使用户可以根据自己的喜好选择不同的颜色方案。 2. 性能:由于Bracket Pair Colorizer 2使用了更高效的算法,因此在处理大型代码文件时,它的性能要优于Bracket Pair Colorizer 1。这对于开发大型项目的开发人员来说尤为重要,可以提高代码编辑的流畅性和效率。 3. 配置选项:Bracket Pair Colorizer 2提供了更多的配置选项,使用户能够更加自定义化地设置括号配对和着色的样式。用户可以选择不同的颜色方案、更改括号着色的透明度以及设置特定的括号样式。Bracket Pair Colorizer 1的配置选项相对较少。 4. 更新和维护:由于Bracket Pair Colorizer 2是Bracket Pair Colorizer的更新版本,它会在功能和性能上得到持续改进和更新。在功能更新和修复问题方面,Bracket Pair Colorizer 2更可能获得更多的关注和支持。 综上所述,Bracket Pair Colorizer 2是Bracket Pair Colorizer 1的升级版本,具有更好的性能、更多的配置选项和更好的功能。如果你在使用Visual Studio Code时需要对括号进行配对和着色,Bracket Pair Colorizer 2可能是一个更好的选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值