Earlier this month, Microsoft announced that Visual Studio Codespaces is consolidating into GitHub Codespaces. Visual Studio Codespaces is a cloud-based, on-demand development environment similar to Gitpod. The consolidated product supports Azure Functions and can be used with Visual Studio 2019, Visual Studio Code, and modern browsers.
Originally released as Visual Studio Online at last year's Microsoft Ignite, Visual Studio Codespaces is an online, cloud-powered development environment. It embraces DevOps concepts and provides managed, fully configurable, disposable environments that can be shared and replicated as needed. According to Microsoft, the consolidation into GitHub Codespaces aims to eliminate the need to transition from a repository to a codespace, an issue identified among Visual Studio Codespaces users since its first release in April this year.
The idea of a DevOps-enabled online development environment is also behind GitPod, launched a few weeks before Visual Studio Codespaces. In the official product blog, Sven Efftinge, co-founder and CEO of Gitpod, describes Continuous Development Environments as the "missing piece" in DevOps:
Continuous dev environments are a crucial part in a fully optimized DevOps toolchain, that allow to instantaneously spin up a ready-to-code development environment from any git state. Continuous dev environments reduce friction in onboarding and task switching and improve reproducibility across the project.
With GitHub Codespaces, developers can set up a containerized and customizable VS Code environment directly from a GitHub repository. Once the environment is created, it can be accessed through a browser or Visual Studio (VS Code or VS 2019). Since the online IDE is based on VS Code, the Visual Studio Code Marketplace can be accessed from a codespace, allowing any available extensions to be loaded and launched from the environment. It also supports multiple programming languages, Dockerfiles, LiveShare, and deployment to Azure using GitHub Actions.
It is important to observe that while Gitpod and GitHub Codespaces are conceptually similar, the latter is a Microsoft product - which means it is more aligned with Microsoft's development ecosystem. As a result, its browser interface's look and feel is very familiar to Visual Studio users. GitHub Codespaces also supports Azure Functions and features oriented to .NET Core development (it is possible, for example, to run a front-end ASP.NET application with a serverless backend from a codespace).
Image: GitHub Codespaces look and feel
GitHub Codespaces is supported in Visual Studio 2019 as part of its latest release (v16.8 Preview 3.1, released yesterday). More details on developing .NET Core applications with GitHub Codespaces can also be found in this post. At the moment, GitHub Codespaces is only available as a limited public beta. General availability is expected to November, and the current Visual Studio Codespaces portal will be retired next February.