過去曾發布超過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範式和配色方法,推出實驗性配色擴充套件,觀察開發者的反應。

熱門新聞

Advertisement