Di recente Microsoft ha rilasciato Visual Studio Code 1.94, la prima versione stabile del noto editor di codice basata su moduli ECMAScript. Questa novità dovrebbe tradursi in miglioramenti rilevanti in termini di tempi di avvio e riduzione della dimensione del bundle. Le estensioni dell'applicazione continuano però a essere vincolate ai moduli CommonJS che sono delle soluzioni datate.
ECMAScript per Visual Studio Code 1.94
ECMAScript rappresenta lo standard ufficiale per JavaScript e i moduli sono supportati nativamente dai motori JavaScript dei principali browser Web. Questo vale anche per l'engine V8, integrato in Chromium tramite Electron, che è poi il framework utilizzato anche da Visual Studio Code.
Inizialmente, il progetto della Casa di Redmond utilizzava il sistema di caricamento asincrono di moduli AMD (Asynchronous Module Definition). Nel corso del 2022 il team di sviluppo ha poi avviato la migrazione verso ECMAScript. Tutti gli utilizzi del vecchio loader AMD sono stati quindi disabilitati e verranno rimossi nel corso dei prossimi giorni.
Secondo quanto dichiarato dal team di Visual Studio Code, questo cambiamento ha portato ad un notevole miglioramento delle prestazioni in fase di avvio. Questo oltre a ridurre le dimensioni del bundle principale di oltre il 10%. Il progetto trarrà beneficio dagli strumenti sviluppati più di recente per ECMAScript e si prevede un miglioramento del sistema di engineering dell'editor.
Le estensioni e il vincolo di CommonJS
Come anticipato, una nota dolente è rappresentata dal fatto che le estensioni di Visual Studio Code, fondamentali per ampliare le funzionalità dell'applicazione, supportano ancora solo i moduli CommonJS. Gli sviluppatori possono scrivere il codice sorgente delle estensioni utilizzando ECMAScript, e poi compilarlo in CommonJS, ma solo l'implementazione nativa di ECMAScript potrebbe portare a grandi miglioramenti nelle performance, soprattutto durante il bundling. Ciò grazie all'uso di tecniche come il tree-shaking che elimina il codice inutile.
Nonostante la migrazione di Visual Studio Code Code verso ECMAScript, resta ancora incerta la tempistica per il supporto nativo nelle estensioni. A tal proposito Microsoft ha sottolineato che un passaggio definitivo al nuovo standard potrebbero richiedere ancora molto tempo.
La versione 1.94 introduce comunque anche altre novità tra cui dei miglioramenti per l'integrazione con GitHub Copilot, il supporto per TypeScript 5.6 e la possibilità di collegarsi in remoto a un container di sviluppo Kubernetes.