Skip to main content

Personalizing GitHub Codespaces for your account

You can personalize GitHub Codespaces by using a dotfiles repository on GitHub or by using Settings Sync.

GitHub Codespaces 可用于使用 GitHub Team 或 GitHub Enterprise Cloud 的组织。 GitHub Codespaces 也可作为受限的 beta 版本提供给使用 GitHub Free 和 GitHub Pro 计划的个人用户。 有关详细信息,请参阅“GitHub 的产品”。

About personalizing Codespaces

When using any development environment, customizing the settings and tools to your preferences and workflows is an important step. GitHub Codespaces allows for two main ways of personalizing your codespaces.

  • Settings Sync - You can use and share Visual Studio Code settings between GitHub Codespaces and other instances of Visual Studio Code.
  • Dotfiles – You can use a dotfiles repository to specify scripts, shell preferences, and other configurations.

GitHub 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 "Introduction to dev containers."

Settings Sync

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.

To enable Settings Sync, in the bottom-left corner of the Activity Bar, select and click Turn on Settings Sync…. In the dialog box, select the settings you'd like to sync.

Setting Sync option in manage menu

For more information, see the Settings Sync guide in the Visual Studio Code documentation.

Dotfiles

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.

Your dotfiles repository might include your shell aliases and preferences, any tools you want to install, or any other codespace personalization you want to make.

You can configure GitHub Codespaces to use dotfiles from any repository you own by selecting that repository in your personal GitHub Codespaces settings.

When you create a new codespace, GitHub clones your selected dotfiles repository to the codespace environment, and looks for one of the following files to set up the environment.

  • install.sh
  • install
  • bootstrap.sh
  • bootstrap
  • script/bootstrap
  • setup.sh
  • setup
  • script/setup

If none of these files are found, then any files or folders in your selected dotfiles repository starting with . are symlinked to the codespace's ~ or $HOME directory.

Any changes to your selected dotfiles repository will apply only to each new codespace, and do not affect any existing codespace.

Note: Currently, GitHub 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 "Introduction to dev containers."

Enabling your dotfiles repository for Codespaces

You can use your selected dotfiles repository to personalize your GitHub Codespaces environment. Once you choose your dotfiles repository, you can add your scripts, preferences, and configurations to it. You then need to enable your dotfiles from your personal GitHub Codespaces settings page.

Warning: Dotfiles have the ability to run arbitrary scripts, which may contain unexpected or malicious code. Before installing a dotfiles repo, we recommend checking scripts to ensure they don't perform any unexpected actions.

  1. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。

    用户栏中的 Settings 图标

  2. 在边栏的“代码、规划和自动化”部分中,单击“ Codespaces”。

  3. Under "Dotfiles", select Automatically install dotfiles so that GitHub Codespaces automatically installs your dotfiles into every new codespace you create. Installing dotfiles

  4. Choose the repository you want to install dotfiles from. Selecting a dotfiles repo

You can add further script, preferences, configuration files to your dotfiles repository or edit existing files whenever you want. Changes to settings will only be picked up by new codespaces.

If your codespace fails to pick up configuration settings from dotfiles, see "Troubleshooting dotfiles for GitHub Codespaces."

Other available settings

You can also personalize GitHub Codespaces using additional options in your personal settings:

Further reading