Note: Codespaces is currently in limited public beta and subject to change. For more information about joining the beta, see "About Codespaces."
When using any development environment, customizing the settings and tools to your preferences and workflows is an important step. Codespaces allows for two main ways of personalizing your codespaces.
- Settings Sync - You can use and share Visual Studio Code settings between Codespaces and other instances of Visual Studio Code.
- Dotfiles – You can use a public
dotfilesrepository to specify scripts, shell preferences, and other configurations.
Codespaces personalization applies to any codespace you create.
Project maintainers can also define a default configuration that applies to every codespace for a repository, created by anyone. For more information, see "Configuring Codespaces for your project."
Settings Sync allows you to share configurations such as settings, keyboard shortcuts, snippets, extensions, and UI state across machines and instances of Visual Studio Code.
Settings Sync is on by default. To configure any settings, in the bottom-left corner of the Activity Bar, select and click Settings Sync is on. From the dialog, you can choose to configure, show settings and data, or turn off Settings Sync.
For more information, see the Settings Sync guide in the Visual Studio Code documentation.
Dotfiles are files and folders on Unix-like systems starting with
. that control the configuration of applications and shells on your system. You can store and manage your dotfiles in a repository on GitHub. For advice and tutorials about what to include in your
dotfiles repository, see GitHub does dotfiles.
If your user account on GitHub owns a public repository named
dotfiles, GitHub can automatically use this repository to personalize your codespace environment, once enabled from your personal Codespaces settings. Private
dotfiles repositories are not currently supported.
dotfiles repository might include your shell aliases and preferences, any tools you want to install, or any other codespace personalization you want to make.
When you create a new codespace, GitHub clones your
dotfiles repository to the codespace environment, and looks for one of the following files to set up the environment.
If none of these files are found, then any files or folders in
dotfiles starting with
. are symlinked to the codespace's
Any changes to your
dotfiles repository will apply only to each new codespace, and do not affect any existing codespace.
Note: Currently, Codespaces does not support personalizing the User settings for the Visual Studio Code editor with your
dotfiles repository. You can set default Workspace and Remote [Codespaces] settings for a specific project in the project's repository. For more information, see "Configuring Codespaces for your project."
You can also configure settings for your user account to add encrypted secrets, enable GPG verification, and allow your codespaces to access other repositories. For more information, see "Managing encrypted secrets for Codespaces", "Managing GPG verification for Codespaces", and "Managing access and security for Codespaces."