layout |
hero |
features |
home |
name |
tagline |
actions |
image |
Development containers |
Specification & tooling for composable and reproducable development environments |
theme |
text |
link |
brand |
Get started |
/guide/ |
|
theme |
text |
link |
alt |
Marketplace |
|
|
|
|
|
icon |
title |
details |
link |
linkText |
💻 |
Works with your favorite tools |
We've collaborated with VS Code, GitHub Codespaces, Jupyter, and JetBrains so you can use your devcontainer.json anywhere. |
/guide/supporting-tools |
See supporting tools |
|
|
<script setup>
// vuejs/vitepress#800
import HomeContent from '.vitepress/theme/components/HomeContent.vue';
import TwoCols from ".vitepress/theme/components/TwoCols.vue"
import { VPButton } from "vitepress/theme"
// This is a hack to make the 'Marketplace' link not open a new tab.
if (globalThis.window) {
// TODO: 'requestAnimationFrame' vs 'setTimeout' vs an event?
// TODO: Open a feature request on the VitePress GitHub page
requestAnimationFrame(() => {
const a = document.querySelector(`.VPButton[href="https://devcontainers.org/marketplace/"]`)
console.log(a, document.readyState)
a.target = "_self"
})
}
</script>
Dev Containers let you configure consistent development environments for your
projects. Just add a .devcontainer/devcontainer.json
file to your project!
{
"image": "mcr.microsoft.com/devcontainers/javascript-node",
"features": {
"ghcr.io/devcontainers/features/rust": {}
},
"postCreateCommand": "npm install"
}