Mit VS-Code und GitHub stellt Microsoft schon einen Großteil der Infrastruktur für Entwickler. Mit Codespaces wird beides auf einen virtuellen Rechner gepackt – der Arbeitsplatz im Browser.
Das Zentrum der Aufmerksamkeit bleibt auch bei Codespaces der VS-Code-Editor.
(Bild: Lang / Microsoft)
GitHub Codespaces hat erst im August 2021 offiziell die breite Öffentlichkeit erreicht. Übertrieben groß scheinen die Auswirkungen vielleicht auch dehalb bislang nicht.
Das verwundert eigentlich, denn Codespaces ist nicht nur eine Möglichkeit, über den Browser auf eine Visual-Studio-Code-Instanz zugreifen zu können. Vielmehr soll es den kompletten Arbeitsplatz ersetzen, wie ihn die IT-Abteilung Mitarbeitern zur Verfügung stellt. Mit dem Unterschied, dass statt echter eine virtuelle Hardware ausgegeben wird.
Das Zentrum der Aufmerksamkeit bleibt auch bei Codespaces der VS-Code-Editor.
(Bild: Lang / Microsoft)
Im Grunde ist Codespaces recht schnell erklärt: GitHub stellt frei konfigurierbare virtuelle Maschinen zur Verfügung, die an einzelne Repositories oder Organisationen gebunden werden können. Die VMs beinhalten dann eine über den Browser erreichbare VS-Code-Instanz, angepasst für die jeweilige Code-Basis, sowie benötigte Abhängigkeiten inner- und außerhalb des Editors, Voreinstellungen, Hardware-Spezifikationen und so weiter.
Codespaces lassen sich direkt über die normale GitHub-Web-Oberfläche aus einem Repo heraus erstellen und im Browser verwenden, aber auch als Visual Studio Remote Container in der Desktop-Variante von VS-Code. Technisch basiert das Ganze auf Containern, auch wenn GitHub (in Marketing-Texten) bisweilen von virtuellen Maschinen spricht.
Kurzum: Ein neuer Mitarbeiter könnte binnen weniger Minuten mit einem fertigen Rechner versorgt werden. Und ganz generell lassen sich mit wenig Aufwand Repo-spezifische Entwicklungsumgebungen erstellen und für alle Beteiligten einheitlich zur Verfügung stellen. Ein recht ähnliches Konzept bieten zum Beispiel Gitpod und andere Cloud-IDEs aus der jüngeren Vergangenheit.
Das Hardware-Setup beschränkt sich auf diese Auswahl.
(Bild: Lang / Microsoft)
Der Grund, warum Codespaces nicht gerade inflationär in den Medien vertreten ist, dürfte das liebe Geld sein: Codespaces selbst ist kostenpflichtig und derzeit auch nur für kostenpflichtige GitHub-Konten verfügbar. Neben den mindestens 40 Euro Jahresbeitrag für den Team-Account fallen nutzungsbasierte Kosten an. In der kleinsten Variante stehen 2 CPU-Kerne und 4 GB Arbeitsspeicher zur Verfügung, die mit 0,18 US-Dollar (USD) pro Stunde zu Buche schlagen. 32 Kerne und 64 GB RAM gibt es für stündlich 2,88 USD. Speicherplatz liegt bei 0,07 USD pro Gigabyte und Monat.
Codespaces wird möglicherweise auch für private GitHub-Repos irgendwann zur Verfügung stehen; wer ohnehin schon zahlender Kunde ist, sollte sich den Service auf jeden Fall mal anschauen. Folgend bekommen Sie schon mal ein paar erste praktische Eindrücke.
Codespaces-Tour
Codespaces lassen sich wie gesagt nur mit mindestens einem Team-Account nutzen. Zusätzlich muss das Repository, um das es geht, zu einer Ihrer Organisationen gehören – mit den privaten Repos des Erstellers einer Organisation funktioniert es nicht.
In der Kurzdoku von Codespaces wird erklärt, wie man einen neuen Codespace für ein Beispiel-Repo anlegt, leider wird ein wichtiger Schritt vorab ausgelassen: Zunächst muss die Verwendung von Codespaces in den Einstellungen der Organisation überhaupt erst freigegeben werden.
An gleicher Stelle lassen sich die Codespaces auch von der vorgegebenen Bindung an ein einzelnes Repository befreien. Der Zugriff darf alternativ für alle oder ausgewählte Repos erteilt werden. Bevor es mit der Arbeit losgeht, gilt es allerdings noch, ein Kostenlimit zu vergeben. Die monatlichen Ausgaben sind standardmäßig nämlich auf Null festgelegt, was wiederum den Zugriff auf Codespaces sperrt.
Codespaces lassen sich direkt über Repos einrichten
(Bild: Lang / Microsoft)
Das Erstellen von Codespaces ist grundsätzlich simpel: Über die Code-Schaltfläche eines Repos (mit den Links zum Klonen) gibt es nun einen neuen Reiter für Codespaces – ein Klick auf „New codespace“, Auswahl der Maschine (Kerne, RAM) und schon öffnet sich das Repo in VS-Code im Browser. Für einen schnellen Überblick zu System, Hardware und Speicher können Sie zum Beispiel „curl cli.help/version | sh“ nutzen, was ein paar Ausgaben von lsblk, lsb_release und lscpu hübsch formatiert ausgibt; beim Test-Codespace ein Debian 11 auf einem Intel Xeon.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Bei einigen Konkurrenten werden solche Arbeitsplätze standardmäßig über Vorlagen erstellt, also beispielsweise für Python-Projekte, die Abhängigkeiten und übliche Tools direkt mit installieren, ebenso Anbindungen an Code-Hoster wie GitHub oder Bitbucket. Bei Codespaces müssen Sie die eigentliche Einrichtung händisch vornehmen, was aber nur einmalig etwas mehr Arbeit verursachen dürfte.
VS-Code lässt sich wie immer über den internen Store erweitern und für reguläre Installationen steht natürlich auch eine Shell mit root-Zugriff zur Verfügung. Allerdings können Sie die Konfiguration auch über Dateien regeln. Am besten verwenden Sie zum Testen eines der Codespaces-Demo-Repos. Diese beinhalten bereits einen Ordner .devcontainer.json mit der gleichnamigen Container-Konfiguration sowie einem Dockerfile.
Wirklich bequem wird es mit einem Beta-Feature: Dotfiles. Damit lassen sich beliebige Konfigurationen ganz einfach über Dotfiles, also Dateien wie „.bashrc“, „.foobarconf“ usw. realisieren. Das Konzept ist durchdacht: Man kann einfach ein Repo explizit für diese Konfigurationsdateien erstellen.
Das Erstellen eines neuen Codespace klont dieses Repo in die neue Umgebung. Anschließend wird nach einer Liste von alternativen Dateinamen für Installationsskripte geschaut, etwa „install.sh“ oder „setup“. Gibt es keine derartigen Skripte mit manuellen Anweisungen, werden schlicht alle Dotfiles in das Home-Verzeichnis des Codespace kopiert. Und somit stehen dann im Container alle Vorgaben und Konfigurationen genau so zur Verfügung, wie sie es seit jeher auf lokalen Systemen tun.
Ein weiteres hübsches Feature ist derzeit noch „Private Preview“: das Prebuilding. Gemeint ist, dass Codespaces nicht erst bei ihrem Aufruf neu gebaut werden, sondern immer dann, wenn jemand in das zugehörige Repo pusht. Somit stehen aktualisierte Arbeitsplätze binnen kürzester Zeit bereit.
Bei Gitpod gibt es dieses Continous-Integration-Feature ebenfalls, so dass Gitpod tatsächlich nahelegt, Arbeitsplätze nicht nur Repo-, sondern sogar aufgabenspezifisch zu nutzen. Mal konkret: Ein kompletter Rebuild des (schlanken) Test-Codespace dauerte hier mit 70 Sekunden – also keine Ewigkeit. In der Praxis kann es aber natürlich zu längeren Ladezeiten kommen.
Insgesamt läuft Codespaces bislang reibungslos und wirft tatsächlich sofort die Frage auf, ob man nicht lieber jetzt als gleich auf ein Cloud-IDE umsteigen sollte – gleiches gilt natürlich auch für Konkurrenzprodukte. Zudem ist ein kompletter Verzicht ja gar nicht nötig, VS-Code Desktop ist immer nur eine Schaltfläche entfernt.
Der Recovery-Modus kann auch mit defekten Konfigurationen umgehen
(Bild: Lang / Microsoft)
Erfreulicherweise hat sich Codespaces bei der Probefahrt auch noch recht robust gezeigt: Mit einem „Hallo Welt“ statt eines Dateiendes konnte die Konfiguratiosdatei „.devcontainer.json“ freilich nichts anfangen. Die Folge: Der Codespace wurde im Recovery-Modus gestartet, wo sich der Fehler auch nachlesen ließ. Der behobene Fehler wurde direkt bemerkt, ein Rebuild angeboten – 70 Sekunden später lief der Container wieder.
Kleinigkeiten wie das simple Schließen von Tabs machen den Umgebungen freilich auch nichts. Aber Vorsicht: So lange Codespaces aktiv sind, läuft auch der Stundenzähler.