Title: Customize the Codespaces configuration file
Author: WordPress VIP Documentation
Published: April 4, 2024
Last modified: April 17, 2024

---

 1. [Local and cloud development](https://docs.wpvip.com/local-development/)
 2. [Developing with GitHub Codespaces](https://docs.wpvip.com/local-development/github-codespaces/)
 3. Customize the Codespaces configuration file

#  Customize the Codespaces configuration file

[The `.devcontainer/devcontainer.json` file provided by WordPress VIP](https://github.com/Automattic/vip-go-skeleton/tree/production/.devcontainer)
can be modified to customize the available features and settings of a codespace 
environment. Settings defined in the `features` section of the file allow customers
to optionally enable features such as Elasticsearch, Xdebug, Photon, and MailPit,
or specify a version of PHP.

The codespace environment will detect when edits are made to `devcontainer.json`.
Codespaces will generate a prompt in the browser to rebuild the environment with
the applied changes.

**Note**

Do not update the `multisite` or the `multisiteStyle` settings after a codespace
environment has been created. To modify these settings, delete the existing codespace
environment, edit the values in the configuration file, then create a new codespace
environment.

## Environment variables

[Environment variables](https://docs.wpvip.com/manage-environment-variables/#3-managing-environment-variables-for-a-vip-local-development-environment)
must be defined in `.devcontainer/devcontainer.json`; they cannot be managed with
VIP-CLI in the codespace environment. Define the name-value pairs of the environment
variables within the [`containerEnv` property](https://containers.dev/implementors/json_reference/)
where it exists in the file.

**Do not store passwords, secrets, or other sensitive data in **`.devcontainer/devcontainer.
json`. [Use encrypted secrets provided by GitHub Codespaces](https://docs.github.com/en/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)
for storing sensitive data.

## Visual Studio Code extensions

A default group of VS Code extensions are defined in the `customizations` section
of `.devcontainer/devcontainer.json`. The list can be modified to add or remove 
VS Code extensions as it suits the preferences of the developer. Refer to [the VS Code Marketplace](https://marketplace.visualstudio.com/)
for available extensions.

[Settings Sync is a VS Code feature](https://code.visualstudio.com/docs/editor/settings-sync)
that allows configurations such as settings, keyboard shortcuts, snippets, extensions,
and UI state to be synchronized across machines and instances of VS Code. If Settings
Sync is enabled in a user’s VS Code, GitHub Codespaces will attempt to install the
same set of extensions in its VS Code interface.

Last updated: April 17, 2024