OptionaladditionalOptionalcustomizationsOptionalextensionsextensions to install in the container at launch. The expeceted format is publisher.name[@version]. The default is no extensions being installed.
OptionalfeaturesFeatures to add to the dev container.
OptionalforwardPorts 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'.
OptionalhostHost hardware requirements.
Optionalcpus?: numberNumber of required CPUs.
Optionalgpu?: boolean | "optional" | { cores?: number; memory?: string }Optionalmemory?: stringAmount of required RAM in bytes. Supports units tb, gb, mb and kb.
Optionalstorage?: stringAmount of required disk space in bytes. Supports units tb, gb, mb and kb.
OptionalinitializeA 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.
OptionalnameA name for the dev container which can be displayed to the user.
OptionalonA 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.
OptionalotherOptionalelevateIfNeeded?: booleanAutomatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.
Optionallabel?: stringLabel that will be shown in the UI for this port.
OptionalonAutoForward?: "notify" | "openBrowser" | "openPreview" | "silent" | "ignore"Defines the action that occurs when the port is discovered for automatic forwarding
Optionalprotocol?: "http" | "https"The protocol to use when forwarding this port.
OptionalrequireLocalPort?: booleanOptionaloverrideArray consisting of the Feature id (without the semantic version) of Features in the order the user wants them to be installed.
OptionalportsA 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+)?$)|(.+)'.
OptionalelevateIfNeeded?: booleanAutomatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.
Optionallabel?: stringLabel that will be shown in the UI for this port.
OptionalonAutoForward?: Defines the action that occurs when the port is discovered for automatic forwarding
Optionalprotocol?: "http" | "https"The protocol to use when forwarding this port.
OptionalrequireLocalPort?: booleanOptionalpostA 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.
OptionalpostA 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.
OptionalpostA 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.
OptionalremoteRemote environment variables to set for processes spawned in the container including lifecycle scripts and any remote editor/IDE server process.
OptionalremoteThe 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.
Optionalsettingssettings to set in the container at launch in the settings.json. The expected format is key=value. The default is no preferences being set.
OptionalupdateA 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.
OptionalupdateControls 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.
OptionaluserUser environment probe to run. The default is 'loginInteractiveShell'.
OptionalwaitThe 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.