Visual Studio新扩展组件可上色大括号,方便开发者理解嵌套结构程序代码

过去曾发布超过150个Visual Studio扩展组件的微软Visual Studio首席产品经理Mads Kristensen,现在他在推特发布最新力作Rainbow Braces,该扩展组件只有一个简单的功能便是上色括号,让开发者可以地简单地理解嵌套程序代码。

在Visual Studio之前,这项功能先出现在VS Code,不过在VS Code中上色括号属于核心功能,但是在Visual Studio上却是性能可能较慢的扩展组件形式出现,而且并非以官方的名义提供。这个名为Rainbow Braces的扩展组件,会侦测成对的括号进行着色,方便开发者识别这些括号涵盖的范围,除了大括号,Rainbow Braces也可作用于括号与中括号。

这项Rainbow Braces扩展组件的开萌生想法法,出自于社群的反馈,该反馈提到VS Code早就已经提供括号着色的功能,但是该功能却一直没有出现在Visual Studio上,因此Mads Kristensen着手开发该扩展组件。

当初VS Code内置的括号着色功能,也是始于社群开发的扩展组件,在2016年的时候,一个用户名为CoenraadS的开发者,在市场发布了Bracket Pair Colorizer扩展组件,该组件安装量超过600万,是市场中下载次数最多的组件前10名,但第一版有严重的性能和准确度的问题,因此为了让扩展组件更顺畅,CoenraadS再次于2018年发布扩展组件更新Bracket Pair Colorizer 2。

虽然CoenraadS针对性能更新发布了第二个主要版本,但是该扩展组件仍存在性能问题,因为扩展组件所使用的API和资讯限制,会使得该扩展组件在更新大型文件括号颜色时特别缓慢,尤其是在文件中存在数万甚至数十万大括号时,扩展组件总需要耗费一些时间才能精确地配对括号并且着色。

微软解释,虽然他们也想提高扩展组件的性能,但是渲染器和扩展组件主机间的异步通信,严重限制了括号着色的速度,这个限制无法被克服。因此微软后来便将这个功能移入VS Code核心,括号上色的性能获得大幅改善,时间缩短到不到一毫秒,在特定的案例中,甚至快了超过10,000倍。

不过,目前Visual Studio上括号上色的功能,仍是以扩展组件的形式发布,且仅支持Visual Studio 2022,Mads Kristensen也在问答中提到,目前并不打算提供旧版本的支持,要在更旧版本的Visual Studio上使用,可能就需要复制存储库,自己做一些修改。

VS Code好用的扩展组件功能逐渐移植到Visual Studio上,像是VS Code上能够着色不同实例的Peacock扩展组件,现在微软也正研究,开发适用于Visual Studio的UI范式和配色方法,推出实验性配色扩展组件,观察开发者的反应。