Optional
additionalOptional
customizationsOptional
vscode?: { Optional
extensions?: string[]extensions to install in the container at launch. The expeceted format is publisher.name[@version]. The default is no extensions being installed.
Optional
settings?: { settings to set in the container at launch in the settings.json. The expected format is key=value. The default is no preferences being set.
Optional
extensionsextensions to install in the container at launch. The expeceted format is publisher.name[@version]. The default is no extensions being installed.
Optional
featuresFeatures to add to the dev container.
Optional
forwardPorts that are forwarded from the container to the local machine. Can be an integer port number, or a string of the format 'host:port_number'.
Optional
hostHost hardware requirements.
Optional
cpus?: numberNumber of required CPUs.
Optional
gpu?: boolean | "optional" | { Optional
memory?: stringAmount of required RAM in bytes. Supports units tb, gb, mb and kb.
Optional
storage?: stringAmount of required disk space in bytes. Supports units tb, gb, mb and kb.
Optional
initializeA command to run locally before anything else. This command is run before 'onCreateCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
nameA name for the dev container which can be displayed to the user.
Optional
onA command to run when creating the container. This command is run after 'initializeCommand' and before 'updateContentCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
otherOptional
elevateAutomatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.
Optional
label?: stringLabel that will be shown in the UI for this port.
Optional
onDefines the action that occurs when the port is discovered for automatic forwarding
Optional
protocol?: "http" | "https"The protocol to use when forwarding this port.
Optional
requireOptional
overrideArray consisting of the Feature id (without the semantic version) of Features in the order the user wants them to be installed.
Optional
portsA port, range of ports (ex. '40000-55000'), or regular expression (ex. '.+/server.js'). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.
This interface was referenced by undefined
's JSON-Schema definition
via the patternProperty
'(^\d+(-\d+)?$)|(.+)'.
Optional
elevateAutomatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.
Optional
label?: stringLabel that will be shown in the UI for this port.
Optional
onDefines the action that occurs when the port is discovered for automatic forwarding
Optional
protocol?: "http" | "https"The protocol to use when forwarding this port.
Optional
requireOptional
postA command to run when attaching to the container. This command is run after 'postStartCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
postA command to run after creating the container. This command is run after 'updateContentCommand' and before 'postStartCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
postA command to run after starting the container. This command is run after 'postCreateCommand' and before 'postAttachCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
remoteRemote environment variables to set for processes spawned in the container including lifecycle scripts and any remote editor/IDE server process.
Optional
remoteThe username to use for spawning processes in the container including lifecycle scripts and any remote editor/IDE server process. The default is the same user as the container.
Optional
settingssettings to set in the container at launch in the settings.json. The expected format is key=value. The default is no preferences being set.
Optional
updateA command to run when creating the container and rerun when the workspace content was updated while creating the container. This command is run after 'onCreateCommand' and before 'postCreateCommand'. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.
Optional
updateControls whether on Linux the container's user should be updated with the local user's UID and GID. On by default when opening from a local folder.
Optional
userUser environment probe to run. The default is 'loginInteractiveShell'.
Optional
waitThe user command to wait for before continuing execution in the background while the UI is starting up. The default is 'updateContentCommand'.
Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.