Ad inizio settembre Microsoft ha deciso di non implementare più il cloud-based development environment Visual Studio Codespaces (a sua volta un rebrand di Visual Studio Online) come soluzione a sé stante e di migrare tutte le sue funzionalità verso GitHub Codespaces. Questo significa che tutti gli sviluppatori che fino ad ora hanno utilizzato Visual Studio Codespaces dovranno spostare i loro progetti entro la scadenza fissata da Redmond per il febbraio del 2021.
Cos'è GitHub Codespaces
Codespaces è un ambiente cloud accessibile direttamente da browser e include tutte le feature necessarie per lo sviluppo dedicato ad un repository specifico, sono infatti inclusi un terminale, strumenti per il debugging, il supporto alle istruzioni Git per il versioning nonché un editor di testo con funzionalità per l'autocompletamento, l'evidenziazione e la colorazione del codice.
Sono inoltre supportate le estensioni di Visual Studio Code per l'integrazione di feature addizionali.
Feature, requisiti e limiti in betatest
I maintainer di un progetto hanno la possibilità di configurare il repository associato e quindi di creare un "codespace" per quest'ultimo, di conseguenza le dipendenze verranno incluse automaticamente senza ulteriori interventi. Uno sviluppatore può creare uno o più codespace per qualsiasi repository pubblico o per qualsiasi repository privato relativo al proprio account. I codespace generati sono disponibili soltanto per chi li crea e nessun altro potrà lavorare su di essi.
Ciascun codespace è associato ad un ramo specifico di un repository, è comunque possibile creare più di un codespace per un singolo repository o per un ramo. Nonostante ciò, durante la fase di betatest gli account dovranno tenere conto del vincolo che limita a 2 il numero massimo di codespace generabili, una volta raggiunto tale limite chi desidera creare un nuovo codespace dovrà prima cancellare uno di quelli generati in precedenza.
E' possibile definire una configurazione predefinita per i codespace dei propri repository, in questo modo tutti i nuovi codespace creati per questi ultimi presenteranno un ambiente dotato delle medesime caratteristiche. Sostanzialmente la configurazione permette di definire un container in grado di includere tool, preferenze di shell, estensioni, port forwarding e tutto quello che può essere necessario per lo sviluppo.
Almeno fino a quando sarà in vigore la fase beta, GitHub sarà in grado di offrire la migliore developer experience soltanto tramite i browser basati su Chromium come per esempio Google Chrome e Microsoft Edge. Sono supportati soltanto i container Linux e per salvaguardare il proprio workflow è importante tenere conto che i processi in esecuzione nel momento in cui un codespace viene arrestato non verranno riavviati.