Skip to main content

vscode Submodule

Constructs ​

DevContainer ​

A development environment running VSCode in a container;

used by GitHub codespaces.

Initializers ​

import { vscode } from 'projen'

new vscode.DevContainer(project: Project, options?: DevContainerOptions)
NameTypeDescription
project
projen.ProjectNo description.
options
DevContainerOptions
No description.

projectRequired ​
  • Type: projen.Project

optionsOptional ​

Methods ​

NameDescription
toString
Returns a string representation of this construct.
with
Applies one or more mixins to this construct.
postProjectCreation
Called once, right after postSynthesize(), only when the project is created for the first time.
postSynthesize
Called after synthesis.
preSynthesize
Called before synthesis.
projectCreation
Called once, right after synthesize(), only when the project is created for the first time.
synthesize
Synthesizes files to the project output directory.
addDockerImage
Add a custom Docker image or Dockerfile for the container.
addFeatures
Adds a list of VSCode features that should be automatically installed in the container.
addPorts
Adds ports that should be exposed (forwarded) from the container.
addTasks
Adds tasks to run when the container starts.
addVscodeExtensions
Adds a list of VSCode extensions that should be automatically installed in the container.

toString ​
public toString(): string

Returns a string representation of this construct.

with ​
public with(mixins: ...IMixin[]): IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

mixinsRequired ​
  • Type: ...constructs.IMixin[]

The mixins to apply.


postProjectCreation ​
public postProjectCreation(initProject: InitProject): void

Called once, right after postSynthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


postSynthesize ​
public postSynthesize(): void

Called after synthesis.

Order is not guaranteed.

preSynthesize ​
public preSynthesize(): void

Called before synthesis.

projectCreation ​
public projectCreation(initProject: InitProject): void

Called once, right after synthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


synthesize ​
public synthesize(): void

Synthesizes files to the project output directory.

addDockerImage ​
public addDockerImage(image: DevEnvironmentDockerImage): void

Add a custom Docker image or Dockerfile for the container.

imageRequired ​
  • Type: projen.DevEnvironmentDockerImage

addFeatures ​
public addFeatures(features: ...DevContainerFeature[]): void

Adds a list of VSCode features that should be automatically installed in the container.

featuresRequired ​

featureName and version(optional default: latest).


addPorts ​
public addPorts(ports: ...string[]): void

Adds ports that should be exposed (forwarded) from the container.

portsRequired ​
  • Type: ...string[]

The new ports.


addTasks ​
public addTasks(tasks: ...Task[]): void

Adds tasks to run when the container starts.

Tasks will be run in sequence.

tasksRequired ​
  • Type: ...projen.Task[]

The new tasks.


addVscodeExtensions ​
public addVscodeExtensions(extensions: ...string[]): void

Adds a list of VSCode extensions that should be automatically installed in the container.

extensionsRequired ​
  • Type: ...string[]

The extension IDs.


Static Functions ​

NameDescription
isConstruct
Checks if x is a construct.
isComponent
Test whether the given construct is a component.

isConstruct ​
import { vscode } from 'projen'

vscode.DevContainer.isConstruct(x: any)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired ​
  • Type: any

Any object.


isComponent ​
import { vscode } from 'projen'

vscode.DevContainer.isComponent(x: any)

Test whether the given construct is a component.

xRequired ​
  • Type: any

Properties ​

NameTypeDescription
node
constructs.NodeThe tree node.
project
projen.ProjectNo description.
config
anyDirect access to the devcontainer configuration (escape hatch).

nodeRequired ​
public readonly node: Node;
  • Type: constructs.Node

The tree node.


projectRequired ​
public readonly project: Project;
  • Type: projen.Project

configRequired ​
public readonly config: any;
  • Type: any

Direct access to the devcontainer configuration (escape hatch).


VsCode ​

Initializers ​

import { vscode } from 'projen'

new vscode.VsCode(project: Project)
NameTypeDescription
project
projen.ProjectNo description.

projectRequired ​
  • Type: projen.Project

Methods ​

NameDescription
toString
Returns a string representation of this construct.
with
Applies one or more mixins to this construct.
postProjectCreation
Called once, right after postSynthesize(), only when the project is created for the first time.
postSynthesize
Called after synthesis.
preSynthesize
Called before synthesis.
projectCreation
Called once, right after synthesize(), only when the project is created for the first time.
synthesize
Synthesizes files to the project output directory.

toString ​
public toString(): string

Returns a string representation of this construct.

with ​
public with(mixins: ...IMixin[]): IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

mixinsRequired ​
  • Type: ...constructs.IMixin[]

The mixins to apply.


postProjectCreation ​
public postProjectCreation(initProject: InitProject): void

Called once, right after postSynthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


postSynthesize ​
public postSynthesize(): void

Called after synthesis.

Order is not guaranteed.

preSynthesize ​
public preSynthesize(): void

Called before synthesis.

projectCreation ​
public projectCreation(initProject: InitProject): void

Called once, right after synthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


synthesize ​
public synthesize(): void

Synthesizes files to the project output directory.

Static Functions ​

NameDescription
isConstruct
Checks if x is a construct.
isComponent
Test whether the given construct is a component.

isConstruct ​
import { vscode } from 'projen'

vscode.VsCode.isConstruct(x: any)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired ​
  • Type: any

Any object.


isComponent ​
import { vscode } from 'projen'

vscode.VsCode.isComponent(x: any)

Test whether the given construct is a component.

xRequired ​
  • Type: any

Properties ​

NameTypeDescription
node
constructs.NodeThe tree node.
project
projen.ProjectNo description.
extensions
VsCodeRecommendedExtensions
No description.
launchConfiguration
VsCodeLaunchConfig
No description.
settings
VsCodeSettings
No description.

nodeRequired ​
public readonly node: Node;
  • Type: constructs.Node

The tree node.


projectRequired ​
public readonly project: Project;
  • Type: projen.Project

extensionsRequired ​
public readonly extensions: VsCodeRecommendedExtensions;

launchConfigurationRequired ​
public readonly launchConfiguration: VsCodeLaunchConfig;

settingsRequired ​
public readonly settings: VsCodeSettings;

VsCodeLaunchConfig ​

VSCode launch configuration file (launch.json), useful for enabling in-editor debugger.

Initializers ​

import { vscode } from 'projen'

new vscode.VsCodeLaunchConfig(vscode: VsCode)
NameTypeDescription
vscode
VsCode
No description.

vscodeRequired ​

Methods ​

NameDescription
toString
Returns a string representation of this construct.
with
Applies one or more mixins to this construct.
postProjectCreation
Called once, right after postSynthesize(), only when the project is created for the first time.
postSynthesize
Called after synthesis.
preSynthesize
Called before synthesis.
projectCreation
Called once, right after synthesize(), only when the project is created for the first time.
synthesize
Synthesizes files to the project output directory.
addCommandInput
Adds an input variable with type command to .vscode/launch.json.
addConfiguration
Adds a VsCodeLaunchConfigurationEntry (e.g. a node.js debugger) to `.vscode/launch.json. Each configuration entry has following mandatory fields: type, request and name. See https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes for details.
addPickStringInput
Adds an input variable with type pickString to .vscode/launch.json.
addPromptStringInput
Adds an input variable with type promptString to .vscode/launch.json.

toString ​
public toString(): string

Returns a string representation of this construct.

with ​
public with(mixins: ...IMixin[]): IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

mixinsRequired ​
  • Type: ...constructs.IMixin[]

The mixins to apply.


postProjectCreation ​
public postProjectCreation(initProject: InitProject): void

Called once, right after postSynthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


postSynthesize ​
public postSynthesize(): void

Called after synthesis.

Order is not guaranteed.

preSynthesize ​
public preSynthesize(): void

Called before synthesis.

projectCreation ​
public projectCreation(initProject: InitProject): void

Called once, right after synthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


synthesize ​
public synthesize(): void

Synthesizes files to the project output directory.

addCommandInput ​
public addCommandInput(cfg: VsCodeLaunchCommandInputEntry): void

Adds an input variable with type command to .vscode/launch.json.

See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.

cfgRequired ​

VsCodeLaunchCommandInputEntry.


addConfiguration ​
public addConfiguration(cfg: VsCodeLaunchConfigurationEntry): void

Adds a VsCodeLaunchConfigurationEntry (e.g. a node.js debugger) to `.vscode/launch.json. Each configuration entry has following mandatory fields: type, request and name. See https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes for details.

cfgRequired ​

VsCodeLaunchConfigurationEntry.


addPickStringInput ​
public addPickStringInput(cfg: VsCodeLaunchPickStringInputEntry): void

Adds an input variable with type pickString to .vscode/launch.json.

See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.

cfgRequired ​

VsCodeLaunchPickStringInputEntry.


addPromptStringInput ​
public addPromptStringInput(cfg: VsCodeLaunchPromptStringInputEntry): void

Adds an input variable with type promptString to .vscode/launch.json.

See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.

cfgRequired ​

VsCodeLaunchPromptStringInputEntry.


Static Functions ​

NameDescription
isConstruct
Checks if x is a construct.
isComponent
Test whether the given construct is a component.

isConstruct ​
import { vscode } from 'projen'

vscode.VsCodeLaunchConfig.isConstruct(x: any)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired ​
  • Type: any

Any object.


isComponent ​
import { vscode } from 'projen'

vscode.VsCodeLaunchConfig.isComponent(x: any)

Test whether the given construct is a component.

xRequired ​
  • Type: any

Properties ​

NameTypeDescription
node
constructs.NodeThe tree node.
project
projen.ProjectNo description.
file
projen.JsonFileNo description.

nodeRequired ​
public readonly node: Node;
  • Type: constructs.Node

The tree node.


projectRequired ​
public readonly project: Project;
  • Type: projen.Project

fileRequired ​
public readonly file: JsonFile;
  • Type: projen.JsonFile

VsCodeRecommendedExtensions ​

VS Code Workspace recommended extensions Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions.

Initializers ​

import { vscode } from 'projen'

new vscode.VsCodeRecommendedExtensions(vscode: VsCode)
NameTypeDescription
vscode
VsCode
No description.

vscodeRequired ​

Methods ​

NameDescription
toString
Returns a string representation of this construct.
with
Applies one or more mixins to this construct.
postProjectCreation
Called once, right after postSynthesize(), only when the project is created for the first time.
postSynthesize
Called after synthesis.
preSynthesize
Called before synthesis.
projectCreation
Called once, right after synthesize(), only when the project is created for the first time.
synthesize
Synthesizes files to the project output directory.
addRecommendations
Adds a list of VS Code extensions as recommendations for this workspace.
addUnwantedRecommendations
Marks a list of VS Code extensions as unwanted recommendations for this workspace.

toString ​
public toString(): string

Returns a string representation of this construct.

with ​
public with(mixins: ...IMixin[]): IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

mixinsRequired ​
  • Type: ...constructs.IMixin[]

The mixins to apply.


postProjectCreation ​
public postProjectCreation(initProject: InitProject): void

Called once, right after postSynthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


postSynthesize ​
public postSynthesize(): void

Called after synthesis.

Order is not guaranteed.

preSynthesize ​
public preSynthesize(): void

Called before synthesis.

projectCreation ​
public projectCreation(initProject: InitProject): void

Called once, right after synthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


synthesize ​
public synthesize(): void

Synthesizes files to the project output directory.

addRecommendations ​
public addRecommendations(extensions: ...string[]): void

Adds a list of VS Code extensions as recommendations for this workspace.

extensionsRequired ​
  • Type: ...string[]

The extension IDs.


addUnwantedRecommendations ​
public addUnwantedRecommendations(extensions: ...string[]): void

Marks a list of VS Code extensions as unwanted recommendations for this workspace.

VS Code should not be recommend these extensions for users of this workspace.

extensionsRequired ​
  • Type: ...string[]

The extension IDs.


Static Functions ​

NameDescription
isConstruct
Checks if x is a construct.
isComponent
Test whether the given construct is a component.

isConstruct ​
import { vscode } from 'projen'

vscode.VsCodeRecommendedExtensions.isConstruct(x: any)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired ​
  • Type: any

Any object.


isComponent ​
import { vscode } from 'projen'

vscode.VsCodeRecommendedExtensions.isComponent(x: any)

Test whether the given construct is a component.

xRequired ​
  • Type: any

Properties ​

NameTypeDescription
node
constructs.NodeThe tree node.
project
projen.ProjectNo description.
file
projen.JsonFileNo description.

nodeRequired ​
public readonly node: Node;
  • Type: constructs.Node

The tree node.


projectRequired ​
public readonly project: Project;
  • Type: projen.Project

fileRequired ​
public readonly file: JsonFile;
  • Type: projen.JsonFile

VsCodeSettings ​

VS Code Workspace settings Source: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings.

Initializers ​

import { vscode } from 'projen'

new vscode.VsCodeSettings(vscode: VsCode)
NameTypeDescription
vscode
VsCode
No description.

vscodeRequired ​

Methods ​

NameDescription
toString
Returns a string representation of this construct.
with
Applies one or more mixins to this construct.
postProjectCreation
Called once, right after postSynthesize(), only when the project is created for the first time.
postSynthesize
Called after synthesis.
preSynthesize
Called before synthesis.
projectCreation
Called once, right after synthesize(), only when the project is created for the first time.
synthesize
Synthesizes files to the project output directory.
addSetting
Adds a workspace setting.
addSettings
Adds a workspace setting.

toString ​
public toString(): string

Returns a string representation of this construct.

with ​
public with(mixins: ...IMixin[]): IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

mixinsRequired ​
  • Type: ...constructs.IMixin[]

The mixins to apply.


postProjectCreation ​
public postProjectCreation(initProject: InitProject): void

Called once, right after postSynthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


postSynthesize ​
public postSynthesize(): void

Called after synthesis.

Order is not guaranteed.

preSynthesize ​
public preSynthesize(): void

Called before synthesis.

projectCreation ​
public projectCreation(initProject: InitProject): void

Called once, right after synthesize(), only when the project is created for the first time.

It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

initProjectRequired ​
  • Type: projen.InitProject

Details about how the project was created, e.g. its type and the original CLI args.


synthesize ​
public synthesize(): void

Synthesizes files to the project output directory.

addSetting ​
public addSetting(setting: string, value: any, language?: string): void

Adds a workspace setting.

settingRequired ​
  • Type: string

The setting ID.


valueRequired ​
  • Type: any

The value of the setting.


languageOptional ​
  • Type: string

Scope the setting to a specific language.


addSettings ​
public addSettings(settings: {[ key: string ]: any}, languages?: string | string[]): void

Adds a workspace setting.

settingsRequired ​
  • Type: {[ key: string ]: any}

Array structure: [setting: string, value: any, languages?: string[]].


languagesOptional ​
  • Type: string | string[]

Static Functions ​

NameDescription
isConstruct
Checks if x is a construct.
isComponent
Test whether the given construct is a component.

isConstruct ​
import { vscode } from 'projen'

vscode.VsCodeSettings.isConstruct(x: any)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired ​
  • Type: any

Any object.


isComponent ​
import { vscode } from 'projen'

vscode.VsCodeSettings.isComponent(x: any)

Test whether the given construct is a component.

xRequired ​
  • Type: any

Properties ​

NameTypeDescription
node
constructs.NodeThe tree node.
project
projen.ProjectNo description.
file
projen.JsonFileNo description.

nodeRequired ​
public readonly node: Node;
  • Type: constructs.Node

The tree node.


projectRequired ​
public readonly project: Project;
  • Type: projen.Project

fileRequired ​
public readonly file: JsonFile;
  • Type: projen.JsonFile

Structs ​

DevContainerFeature ​

devcontainer features options.

https://containers.dev/implementors/features/#devcontainer-json-properties

Initializer ​

import { vscode } from 'projen'

const devContainerFeature: vscode.DevContainerFeature = { ... }

Properties ​

NameTypeDescription
name
stringfeature name.
version
stringfeature version.

nameRequired ​
public readonly name: string;
  • Type: string

feature name.


versionOptional ​
public readonly version: string;
  • Type: string
  • Default: latest

feature version.


DevContainerOptions ​

Constructor options for the DevContainer component.

The default docker image used for GitHub Codespaces is defined here:

https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux

Initializer ​

import { vscode } from 'projen'

const devContainerOptions: vscode.DevContainerOptions = { ... }

Properties ​

NameTypeDescription
dockerImage
projen.DevEnvironmentDockerImageA Docker image or Dockerfile for the container.
ports
string[]An array of ports that should be exposed from the container.
tasks
projen.Task[]An array of tasks that should be run when the container starts.
vscodeExtensions
string[]An array of extension IDs that specify the extensions that should be installed inside the container when it is created.
features
DevContainerFeature[]
An array of VSCode features that specify the features that should be installed inside the container when it is created.

dockerImageOptional ​
public readonly dockerImage: DevEnvironmentDockerImage;
  • Type: projen.DevEnvironmentDockerImage

A Docker image or Dockerfile for the container.


portsOptional ​
public readonly ports: string[];
  • Type: string[]

An array of ports that should be exposed from the container.


tasksOptional ​
public readonly tasks: Task[];
  • Type: projen.Task[]

An array of tasks that should be run when the container starts.


vscodeExtensionsOptional ​
public readonly vscodeExtensions: string[];
  • Type: string[]

An array of extension IDs that specify the extensions that should be installed inside the container when it is created.


featuresOptional ​
public readonly features: DevContainerFeature[];

An array of VSCode features that specify the features that should be installed inside the container when it is created.


Presentation ​

VSCode launch configuration Presentation interface "using the order, group, and hidden attributes in the presentation object you can sort, group, and hide configurations and compounds in the Debug configuration dropdown and in the Debug quick pick." Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.

Initializer ​

import { vscode } from 'projen'

const presentation: vscode.Presentation = { ... }

Properties ​

NameTypeDescription
group
stringNo description.
hidden
booleanNo description.
order
numberNo description.

groupRequired ​
public readonly group: string;
  • Type: string

hiddenRequired ​
public readonly hidden: boolean;
  • Type: boolean

orderRequired ​
public readonly order: number;
  • Type: number

ServerReadyAction ​

VSCode launch configuration ServerReadyAction interface "if you want to open a URL in a web browser whenever the program under debugging outputs a specific message to the debug console or integrated terminal." Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.

Initializer ​

import { vscode } from 'projen'

const serverReadyAction: vscode.ServerReadyAction = { ... }

Properties ​

NameTypeDescription
action
stringNo description.
pattern
stringNo description.
uriFormat
stringNo description.

actionRequired ​
public readonly action: string;
  • Type: string

patternOptional ​
public readonly pattern: string;
  • Type: string

uriFormatOptional ​
public readonly uriFormat: string;
  • Type: string

VsCodeLaunchCommandInputEntry ​

Options for a 'VsCodeLaunchCommandInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables.

Initializer ​

import { vscode } from 'projen'

const vsCodeLaunchCommandInputEntry: vscode.VsCodeLaunchCommandInputEntry = { ... }

Properties ​

NameTypeDescription
id
stringNo description.
command
stringNo description.
args
anyNo description.

idRequired ​
public readonly id: string;
  • Type: string

commandRequired ​
public readonly command: string;
  • Type: string

argsOptional ​
public readonly args: any;
  • Type: any

VsCodeLaunchConfigurationEntry ​

Options for a 'VsCodeLaunchConfigurationEntry' Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.

Initializer ​

import { vscode } from 'projen'

const vsCodeLaunchConfigurationEntry: vscode.VsCodeLaunchConfigurationEntry = { ... }

Properties ​

NameTypeDescription
name
stringNo description.
request
stringNo description.
type
stringNo description.
args
string[]No description.
console
Console
No description.
cwd
stringNo description.
debugServer
numberNo description.
disableOptimisticBPs
booleanNo description.
env
{[ key: string ]: string | boolean}Set value to false to unset an existing environment variable.
envFile
stringNo description.
internalConsoleOptions
InternalConsoleOptions
No description.
outFiles
string[]No description.
port
numberNo description.
postDebugTask
stringNo description.
preLaunchTask
stringNo description.
presentation
Presentation
No description.
program
stringNo description.
runtimeArgs
string[]No description.
serverReadyAction
ServerReadyAction
No description.
skipFiles
string[]No description.
stopOnEntry
booleanNo description.
url
stringNo description.
webRoot
stringNo description.

nameRequired ​
public readonly name: string;
  • Type: string

requestRequired ​
public readonly request: string;
  • Type: string

typeRequired ​
public readonly type: string;
  • Type: string

argsOptional ​
public readonly args: string[];
  • Type: string[]

consoleOptional ​
public readonly console: Console;

cwdOptional ​
public readonly cwd: string;
  • Type: string

debugServerOptional ​
public readonly debugServer: number;
  • Type: number

disableOptimisticBPsOptional ​
public readonly disableOptimisticBPs: boolean;
  • Type: boolean

envOptional ​
public readonly env: {[ key: string ]: string | boolean};
  • Type: {[ key: string ]: string | boolean}

Set value to false to unset an existing environment variable.


envFileOptional ​
public readonly envFile: string;
  • Type: string

internalConsoleOptionsOptional ​
public readonly internalConsoleOptions: InternalConsoleOptions;

outFilesOptional ​
public readonly outFiles: string[];
  • Type: string[]

portOptional ​
public readonly port: number;
  • Type: number

postDebugTaskOptional ​
public readonly postDebugTask: string;
  • Type: string

preLaunchTaskOptional ​
public readonly preLaunchTask: string;
  • Type: string

presentationOptional ​
public readonly presentation: Presentation;

programOptional ​
public readonly program: string;
  • Type: string

runtimeArgsOptional ​
public readonly runtimeArgs: string[];
  • Type: string[]

serverReadyActionOptional ​
public readonly serverReadyAction: ServerReadyAction;

skipFilesOptional ​
public readonly skipFiles: string[];
  • Type: string[]

stopOnEntryOptional ​
public readonly stopOnEntry: boolean;
  • Type: boolean

urlOptional ​
public readonly url: string;
  • Type: string

webRootOptional ​
public readonly webRoot: string;
  • Type: string

VsCodeLaunchInputEntry ​

Base options for a 'VsCodeLaunchInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables.

Initializer ​

import { vscode } from 'projen'

const vsCodeLaunchInputEntry: vscode.VsCodeLaunchInputEntry = { ... }

Properties ​

NameTypeDescription
id
stringNo description.

idRequired ​
public readonly id: string;
  • Type: string

VsCodeLaunchPickStringInputEntry ​

Options for a 'VsCodeLaunchPickStringInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables.

Initializer ​

import { vscode } from 'projen'

const vsCodeLaunchPickStringInputEntry: vscode.VsCodeLaunchPickStringInputEntry = { ... }

Properties ​

NameTypeDescription
id
stringNo description.
description
stringNo description.
options
string[]No description.
default
stringNo description.

idRequired ​
public readonly id: string;
  • Type: string

descriptionRequired ​
public readonly description: string;
  • Type: string

optionsRequired ​
public readonly options: string[];
  • Type: string[]

defaultOptional ​
public readonly default: string;
  • Type: string

VsCodeLaunchPromptStringInputEntry ​

Options for a 'VsCodeLaunchPromptStringInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables.

Initializer ​

import { vscode } from 'projen'

const vsCodeLaunchPromptStringInputEntry: vscode.VsCodeLaunchPromptStringInputEntry = { ... }

Properties ​

NameTypeDescription
id
stringNo description.
description
stringNo description.
default
stringNo description.
password
booleanNo description.

idRequired ​
public readonly id: string;
  • Type: string

descriptionRequired ​
public readonly description: string;
  • Type: string

defaultOptional ​
public readonly default: string;
  • Type: string

passwordOptional ​
public readonly password: boolean;
  • Type: boolean

Protocols ​

IDevContainerEnvironment ​

Methods ​

NameDescription
addFeatures
Adds a list of VSCode features that should be automatically installed in the container.

addFeatures ​
public addFeatures(features: ...DevContainerFeature[]): void

Adds a list of VSCode features that should be automatically installed in the container.

featuresRequired ​

featureName and version(optional default: latest).


Enums ​

Console ​

Controls where to launch the debug target Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.

Members ​

NameDescription
INTERNAL_CONSOLE
No description.
INTEGRATED_TERMINAL
No description.
EXTERNAL_TERMINAL
No description.

INTERNAL_CONSOLE ​

INTEGRATED_TERMINAL ​

EXTERNAL_TERMINAL ​

InternalConsoleOptions ​

Controls the visibility of the VSCode Debug Console panel during a debugging session Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.

Members ​

NameDescription
NEVER_OPEN
No description.
OPEN_ON_FIRST_SESSION_START
No description.
OPEN_ON_SESSION_START
No description.

NEVER_OPEN ​

OPEN_ON_FIRST_SESSION_START ​

OPEN_ON_SESSION_START ​