1
0
mirror of synced 2025-12-21 19:06:49 -05:00
Files
docs/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md
hubwriter 79285d5e92 [23 Feb]: Codespaces prebuilds- [Public Beta] (#25066)
* Draft - add copy from Google doc

* Add images

* More WiP

* test (#25121)

* Update actions-scheduled-workflow-example.md

The editor when changing a CRON time says the most frequent is 5 minutes. Either this section is incorrect or the editor pop over..

* Fix "labels" type

* Add apps permissions for code scanning org endpoint. (#24859)

* cope with possible translation drift (#24842)

* cope with possible translation drift

* fix test

* don't shallow clone

* fix unit tests

* update code comments

* more code comment corrections

* more code comment

* feedbacked

* Add 💅

* Remove yzhang.markdown-all-in-one extension

The markdown-all-in-one extension prevents Alfred expansions happening correctly.

* Revert Add apps permissions for code scanning org endpoint (#25023)

* Add security overview to github-security-features.md

* updating ghcr_token github_token

* archived asset redirects (#25025)

* updating ghec_token to github_token

* set 'manul-purge' surrogate key on assets/cb- URLs (#25028)

* Member privileges edit for forking help doc (#24934)

* calm down Backfill logging (#25031)

* [Feb. 2, 2022] Updates for settings nav redesign (#24604)

* Replace accessibility-tab.png with octicon

* Update and version appearance-tab references

* Replace codespaces-tab.png with octicon

* Replace product name with reusable

* Version reusable using developer-settings.png

* Version reusable using notifcations_menu.png

* Replace org-settings-pages.png with octicon

* Version reusable using repos-tab.png

* Version reusable using saved-replies-tab.png

* Version reusable with settings-applications.png

* Version reusable with settings-sidebar-account-security.png

* version reusable with settings-sidebar-account-settings.png

* Replace settings-sidebar-billing-plans.png with octicon

* Replace settings-sidebar-blocked-users.png with octicon

* Version settings-sidebar-deploy-keys.png

* Version reusable with settings-sidebar-emails.png

* Replace settings-sidebar-interaction-limits.png with octicon

* Replace settings-sidebar-organizations.png with octicon

* Version use of settings-sidebar-repositories.png

* Version reusable with settings-seidebar-security-analysis.png

* Version reusable with settings-sidebar-ssh-keys.png

* Version reusable with settings-sidebar-team-settings.png

* Replace settings-sidebar-third-party-access.png with octicon

* Version reusable with settings-user-orgs.png

* Replace user-settings-pages.png with octicon

* Update pages octicon

* Add explicit versions to elsif tags

* Rewording for consistency

* Improve versioning for future GHAE

* Add missing space

Co-authored-by: Felicity Chapman <felicitymay@github.com>

Co-authored-by: Felicity Chapman <felicitymay@github.com>

* update search indexes

* New translation batch for es (#25035)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=es

* run script/i18n/reset-known-broken-translation-files.js

* Check in es CSV report

* Remove duplicated word (#24974)

* Fix when we show the 'All Enterprise Releases' link (#25002)

* Enterprise versions start with 'enterprise-server'

* Show only if all versions are ghes versions

* Show link if there's any ghes versioning

* Depend on the path for the tool switcher (#25018)

* Azure: use shared env setter, fix comment workflow (#25044)

* update azure deployments to use shared env getter, fix content changes table

* update search indexes

* update search indexes

* Update workflow-syntax-for-github-actions.md

* New translation batch for pt (#25050)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=pt

* run script/i18n/reset-known-broken-translation-files.js

* update search indexes

* The missing full stop was added.

* update search indexes

* update search indexes

* New translation batch for pt (#25057)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=pt

* run script/i18n/reset-known-broken-translation-files.js

* New translation batch for es (#25058)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=es

* run script/i18n/reset-known-broken-translation-files.js

* update search indexes

* update search indexes

* Update OpenAPI  Descriptions (#25047)

* update search indexes

* Enterprise bug fixes: week of Jan 31, 2022 (#25043)

* delete the workflow linter (#25075)

* an empty 'product', 'permissions', or 'learningTracks' gets stuck (#25070)

* and empty 'this.product' gets stuck

* add test to prove change

* Update OpenAPI  Descriptions (#25071)

* Update OpenAPI  Descriptions (#25076)

* Update OpenAPI  Descriptions

* Add decorated OpenAPI schema files

Co-authored-by: github-openapi-bot <github-openapi-bot@users.noreply.github.com>

* basic tests of the search API (#25069)

* basic tests of the search API

* lfs

* Revert "Revert Add apps permissions for code scanning org endpoint (#25023)" (#25026)

* update website-scraper to update transitive nth-check dep (#25080)

* update search indexes

* New translation batch for es (#25088)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=es

* run script/i18n/reset-known-broken-translation-files.js

* Update code-scanning-alert.png (#25072)

* use manual surrogate key for nextjs static assets (#25096)

* use manual surrogate key for nextjs static assets

* refactor

* update search indexes

* Update differences-between-clustering-and-high-availability-ha.md (#25107)

* Update OpenAPI  Descriptions (#25104)

* Add versioning for GHAE 3.3 (#24936)

* Update content/code-security/getting-started/github-security-features.md

* update search indexes

* [Actions] `push` event does not have Activity types (#15124)

* 📝 Clarify usage of single quotes in string datatype for literals (#14895)

* Fix value of GITHUB_REF for release events (#14876)

* New translation batch for pt (#25084)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/fix-translation-errors.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=pt

* run script/i18n/reset-known-broken-translation-files.js

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>

* New translation batch for ja (#25093)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/lint-translation-files.js --check parsing

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=ja

* run script/i18n/reset-known-broken-translation-files.js

* Check in ja CSV report

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>

* New translation batch for cn (#25090)

* Add crowdin translations

* Run script/i18n/homogenize-frontmatter.js

* Run script/i18n/lint-translation-files.js --check parsing

* Run script/i18n/lint-translation-files.js --check rendering

* run script/i18n/reset-files-with-broken-liquid-tags.js --language=cn

* run script/i18n/reset-known-broken-translation-files.js

* Check in cn CSV report

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>

* Create github-debian.sh

* Update Dockerfile

* Update procedures for personal account recovery with two-factor authentication (#25040)

* delete old deploy.js script (#24862)

Co-authored-by: Mark Battistella <markbattistella@users.noreply.github.com>
Co-authored-by: Emily Grace Seville <emilyseville7cf@gmail.com>
Co-authored-by: Octomerger Bot <63058869+Octomerger@users.noreply.github.com>
Co-authored-by: Anders Starcke Henriksen <starcke@github.com>
Co-authored-by: Peter Bengtsson <mail@peterbe.com>
Co-authored-by: Laura Coursen <lecoursen@github.com>
Co-authored-by: lucie-docs <40564413+lucie-docs@users.noreply.github.com>
Co-authored-by: Josh Johanning <joshjohanning@github.com>
Co-authored-by: Tahlia G <84726379+tahlialouisa@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Felicity Chapman <felicitymay@github.com>
Co-authored-by: GitHub Actions <action@github.com>
Co-authored-by: docubot <67483024+docubot@users.noreply.github.com>
Co-authored-by: Simon Giesemann <kwacky1@github.com>
Co-authored-by: Robert Sese <rsese@github.com>
Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>
Co-authored-by: Albin PK <56157868+albinpk@users.noreply.github.com>
Co-authored-by: Dasun Tharanga <dasuntharangaflash@gmail.com>
Co-authored-by: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com>
Co-authored-by: Ramya Parimi <33761166+ramyaparimi@users.noreply.github.com>
Co-authored-by: github-openapi-bot <github-openapi-bot@users.noreply.github.com>
Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com>
Co-authored-by: Dorothy Mitchell <dorothymitchell@github.com>
Co-authored-by: Andy J <mumfy@github.com>
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
Co-authored-by: Marko Kaznovac <kaznovac@users.noreply.github.com>
Co-authored-by: Anil Seervi <61609033+AnilSeervi@users.noreply.github.com>
Co-authored-by: Johanan Idicula <johanan@forcepush.tech>

* Add more screenshots

* complete items on plan

* Revert changes to files I didn't change

* Minor tweaks

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Remove detail about building prebuilds by rerunning a workflow

After deleting a prebuild configuration anyone who can access the workflow history can recreate the prebuilds by rerunning the previous workflow run - unless you go through manually deleting all of those entries from the workflow history. Removed this information as per review comment.

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project.md

* Update data/reusables/codespaces/billing-for-prebuilds.md

* Update data/reusables/codespaces/billing-for-prebuilds.md

* Restructure info into separate articles

* Update content/codespaces/prebuilding-your-codespaces/about-codespaces-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Move prerequisites section

* Move billing info

* Update content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Update data/reusables/codespaces/billing-for-prebuilds.md

* Update data/reusables/codespaces/billing-for-prebuilds.md

Co-authored-by: Laura Coursen <lecoursen@github.com>

* Move deletion points, as per review comment

* Update link

* Add links to new information

* Make review comment changes

* Update content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Update content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md

* Update content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md

Co-authored-by: Jackie Jiménez <jaclynj@github.com>

* Optimize images

Co-authored-by: Mark Battistella <markbattistella@users.noreply.github.com>
Co-authored-by: Emily Grace Seville <emilyseville7cf@gmail.com>
Co-authored-by: Octomerger Bot <63058869+Octomerger@users.noreply.github.com>
Co-authored-by: Anders Starcke Henriksen <starcke@github.com>
Co-authored-by: Peter Bengtsson <mail@peterbe.com>
Co-authored-by: Laura Coursen <lecoursen@github.com>
Co-authored-by: lucie-docs <40564413+lucie-docs@users.noreply.github.com>
Co-authored-by: Josh Johanning <joshjohanning@github.com>
Co-authored-by: Tahlia G <84726379+tahlialouisa@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Felicity Chapman <felicitymay@github.com>
Co-authored-by: GitHub Actions <action@github.com>
Co-authored-by: docubot <67483024+docubot@users.noreply.github.com>
Co-authored-by: Simon Giesemann <kwacky1@github.com>
Co-authored-by: Robert Sese <rsese@github.com>
Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>
Co-authored-by: Albin PK <56157868+albinpk@users.noreply.github.com>
Co-authored-by: Dasun Tharanga <dasuntharangaflash@gmail.com>
Co-authored-by: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com>
Co-authored-by: Ramya Parimi <33761166+ramyaparimi@users.noreply.github.com>
Co-authored-by: github-openapi-bot <github-openapi-bot@users.noreply.github.com>
Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com>
Co-authored-by: Dorothy Mitchell <dorothymitchell@github.com>
Co-authored-by: Andy J <mumfy@github.com>
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
Co-authored-by: Marko Kaznovac <kaznovac@users.noreply.github.com>
Co-authored-by: Anil Seervi <61609033+AnilSeervi@users.noreply.github.com>
Co-authored-by: Johanan Idicula <johanan@forcepush.tech>
Co-authored-by: Jackie Jiménez <jaclynj@github.com>
Co-authored-by: github-actions <github-actions@github.com>
2022-02-23 17:52:53 +00:00

85 lines
7.4 KiB
Markdown

---
title: Codespaces lifecycle
intro: 'You can develop in a {% data variables.product.prodname_codespaces %} environment and maintain your data throughout the entire codespace lifecycle.'
versions:
fpt: '*'
ghec: '*'
type: overview
topics:
- Codespaces
- Developer
product: '{% data reusables.gated-features.codespaces %}'
---
## About the lifecycle of a codespace
The lifecycle of a codespace begins when you create a codespace and ends when you delete it. You can disconnect and reconnect to an active codespace without affecting its running processes. You may stop and restart a codespace without losing changes that you have made to your project.
## Creating a codespace
When you want to work on a project, you can choose to create a new codespace or open an existing codespace. You might want to create a new codespace from a branch of your project each time you develop in {% data variables.product.prodname_codespaces %} or keep a long-running codespace for a feature.
If you choose to create a new codespace each time you work on a project, you should regularly push your changes so that any new commits are on {% data variables.product.prodname_dotcom %}. You can have up to 10 codespaces at a time. Once you have 10 codespaces, you must delete a codespace before you can create a new one. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
If you choose to use a long-running codespace for your project, you should pull from your repository's default branch each time you start working in your codespace so that your environment has the latest commits. This workflow is very similar to if you were working with a project on your local machine.
{% data reusables.codespaces.prebuilds-crossreference %}
## Saving changes in a codespace
When you connect to a codespace through the web, auto-save is enabled automatically for the web editor and configured to save changes after a delay. When you connect to a codespace through {% data variables.product.prodname_vscode %} running on your desktop, you must enable auto-save. For more information, see [Save/Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) in the {% data variables.product.prodname_vscode %} documentation.
If you want to save your changes in the git repository on the codespace's file system, commit them and push them to a remote branch.
If you have unsaved changes, your editor will prompt you to save them before exiting.
## Codespaces timeouts
If you leave your codespace running without interaction, or if you exit your codespace without explicitly stopping it, the codespace will timeout after a period of inactivity and stop running. By default, a codespace will timeout after 30 minutes of inactivity, but you can customize the duration of the timeout period for new codespaces that you create. For more information about setting the default timeout period for your codespaces, see "[Setting your timeout period for Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces)." For more information about stopping a codespace, see "[Stopping a codespace](#stopping-a-codespace)."
When a codespace times out, your data is preserved from the last time your changes were saved. For more information, see "[Saving changes in a codespace](#saving-changes-in-a-codespace)."
## Rebuilding a codespace
You can rebuild your codespace to restore a clean state as if you had created a new codespace. For most uses, you can create a new codespace as an alternative to rebuilding a codespace. You are most likely to rebuild a codespace to implement changes to your dev container. When you rebuild a codespace, any Docker containers, images, volumes, and caches are cleaned, then the codespace is rebuilt.
If you need any of this data to persist over a rebuild, you can create, at the desired location in the container, a symbolic link (symlink) to the persistent directory. For example, in your `.devcontainer` directory, you can create a `config` directory that will be preserved across a rebuild. You can then symlink the `config` directory and its contents as a `postCreateCommand` in your `devcontainer.json` file.
```json
{
"image": "mcr.microsoft.com/vscode/devcontainers/base:alpine",
"postCreateCommand": ".devcontainer/postCreate.sh"
}
```
In the example `postCreate.sh` file below, the contents of the `config` directory are symbolically linked to the home directory.
```bash
#!/bin/bash
ln -sf $PWD/.devcontainer/config $HOME/config && set +x
```
## Stopping a codespace
You can stop a codespace at any time. When you stop a codespace, any running processes are stopped and the terminal history is cleared. Any saved changes in your codespace will still be available when you next start it. If you do not explicitly stop a codespace, it will continue to run until it times out from inactivity. For more information, see "[Codespaces timeouts](#codespaces-timeouts)."
Only running codespaces incur CPU charges; a stopped codespace incurs only storage costs.
You may want to stop and restart a codespace to apply changes to it. For example, if you change the machine type used for your codespace, you will need to stop and restart it for the change to take effect. You can also stop your codespace and choose to restart or delete it if you encounter an error or something unexpected. For more information, see "[Suspending or stopping a codespace](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)."
## Deleting a codespace
You can create a codespace for a particular task and then safely delete the codespace after you push your changes to a remote branch.
If you try to delete a codespace with unpushed git commits, your editor will notify you that you have changes that have not been pushed to a remote branch. You can push any desired changes and then delete your codespace, or continue to delete your codespace and any uncommitted changes. You can also export your code to a new branch without creating a new codespace. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)."
You will be charged for the storage of all your codespaces. When you delete a codespace, you will no longer be charged.
For more information on deleting a codespace, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)."
## Losing the connection while using Codespaces
{% data variables.product.prodname_codespaces %} is a cloud-based development environment and requires an internet connection. If you lose connection to the internet while working in a codespace, you will not be able to access your codespace. However, any uncommitted changes will be saved. When you have access to an internet connection again, you can connect to your codespace in the exact same state that it was left in. If you have an unstable internet connection, you should commit and push your changes often.
If you know that you will often be working offline, you can use your `devcontainer.json` file with the ["{% data variables.product.prodname_vscode %} Remote - Containers" extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) to build and attach to a local development container for your repository. For more information, see [Developing inside a container](https://code.visualstudio.com/docs/remote/containers) in the {% data variables.product.prodname_vscode %} documentation.