Codespaces
Developing in the Clouds
Cloud hosted development environments accessible from anywhere
GitHub Codespaces within an Organisation
GitHub Codespaces provides each member of your Organisation a unique development environment based off a repository branch.
Providing access to Codespaces
As an organisation owner or admin you can make some choices to enable codespaces for your organisation.
GitHub Codespaces is always available in an organisation's public repositories, and any user can create a codespace from these repositories. If your organization is on a GitHub Free plan, GitHub Codespaces is always available in your organisation's private repositories too, and any users with access to these repositories can create a codespace at their own expense.
If you're the owner or admin of an organisation on a GitHub Team or GitHub Enterprise Cloud plan, you can choose whether to enable or disable GitHub Codespaces in your organisation's private repositories. If you enable GitHub Codespaces in these repositories, you can choose whether to enable for all users or for a selection of members and collaborators.
If you have enabled GitHub Codespaces in private repositories for at least some users, you can choose to pay for these users' usage of GitHub Codespaces across all repositories in your organisation.
GitHub Codespaces docs have more information about this at Choosing who owns and pays for codespaces in your organisation
Dev Container
When a Codespace is created it is hosted by GitHub in a Docker container, running on a virtual machine. This docker container can be the default GitHub one or you can define a dev container by adding a devcontainer.json to your repository. Defining a dev container is explained by GitHub at Introduction to dev containers
Customising further using
You can run your codespace on a choice of remote machine types that can be defined by choosing the machine type on setup or in the dev container. However you can further customise your working environment by using the below features
.dotfile
You can personalise your GitHub Codespaces by using a dotfiles repository on GitHub or by using Settings Sync for your account.
This is covered in the GitHub Docs at Personalizing GitHub Codespaces for your account
VS Code Addins
VS Code Addins can be a great way to provide extra features within your code editor. You are free to define VS Code Addins on a per user or per repository basis.
If you have enabled Settings Sync then the same addins are available on your desktop VS Code and you GitHub Codespaces.
However if your repository benefits from having certain addins available then this can be configured as required for the repository
Settings Sync is defined in the GitHub Docs at Personalizing GitHub Codespaces for your account
Environment secrets
You can add development environment secrets to your personal account that you want to use in your codespaces.
However Development environment secrets allow you to store sensitive information in your organization or repository for use with GitHub Codespaces. To manage development environment secrets for GitHub Codespaces for an organization, you must be an organization owner.
This is covered in the GitHub Docs at Managing development environment secrets for your repository or organization
Each user has options
A great thing about GitHub Codespaces is that it provides a standard working environment but the user can still choose to work in the code editor that they are happy using. You can develop code in a Codespace using your choice of tool:
- A command shell, via an SSH connection initiated using GitHub CLI.
- One of the JetBrains IDEs, via the JetBrains Gateway.
- The Visual Studio Code desktop application.
- A browser-based version of Visual Studio Code.
Other Cloud Development Environments
Please see our Writing Code at JasmineDesign for a full list of available environments.
What is GitHub.dev ?
Press . on any repo to make quick edits powered by Visual Studio Code.
This is a great way to read or make changes to code on GitHub.
This differs from GitHub Codespaces as it does not have any compute behind it, so you don't get to use the terminal or to Run & Debug your code.
You can also just change the URL from .com to .dev to launch the Editor. For more information take a read of the doc's page.
This service is available today free for all GitHub users.
We have written a step by step guide to using this editor to make and update a website using our templates on GitHub at jasminews.uk
github.dev web-based editor
To open in current tab
Press the . key the fullstop / period key, this opens up the github.dev web-based editor in your current browser tab.
To open in new tab
If you press shift + > this will open the editor in a new tab.
You need to be logged into GitHub.com to use this.
GitHub Codespaces Links
- GitHub Codespaces
- GitHub Codespaces Docs
- About billing for GitHub Codespaces
- Codespaces pricing
- Managing spending limits for Codespaces
- Using Codespaces in Visual Studio Code
- VS Code Web-based editor ( GitHub.dev )
- Codespaces Changelog
VS Codespaces Links
- Visual Studio Codespaces is consolidating into GitHub Codespaces
- Visual Studio Codespaces Consolidation FAQs
- Visual Studio Codespaces
- Visual Studio Codespaces Docs
- Introducing Visual Studio Codespaces: cloud-hosted development for wherever you're working
Helpful Resources
This page was last updated on .