Options to create terminal widget.

interface TerminalOptions {
    attributes?: {
        [key: string]: string | null;
    };
    color?: ThemeColor;
    cwd?: string | Uri;
    env?: {
        [key: string]: string | null;
    };
    hideFromUser?: boolean;
    iconPath?: IconPath;
    iconUrl?: string | {
        dark: string;
        light: string;
    } | ThemeIcon;
    isTransient?: boolean;
    location?: TerminalEditorLocationOptions | TerminalLocation | TerminalSplitLocationOptions;
    message?: string;
    name?: string;
    shellArgs?: string | string[];
    shellPath?: string;
    strictEnv?: boolean;
}

Hierarchy (view full)

Properties

attributes?: {
    [key: string]: string | null;
}

Terminal attributes. Can be useful to apply some implementation specific information.

Type declaration

  • [key: string]: string | null
color?: ThemeColor

The icon ThemeColor for the terminal. The terminal.ansi* theme keys are recommended for the best contrast and consistency across themes.

cwd?: string | Uri

Current working directory.

env?: {
    [key: string]: string | null;
}

Environment variables for terminal in format key - value.

Type declaration

  • [key: string]: string | null
hideFromUser?: boolean

When enabled the terminal will run the process as normal but not be surfaced to the user until Terminal.show is called. The typical usage for this is when you need to run something that may need interactivity but only want to tell the user about it when interaction is needed. Note that the terminals will still be exposed to all extensions as normal.

iconPath?: IconPath

The icon path or ThemeIcon for the terminal.

iconUrl?: string | {
    dark: string;
    light: string;
} | ThemeIcon

Type declaration

  • dark: string
  • light: string
isTransient?: boolean

Opt-out of the default terminal persistence on restart and reload. This will only take effect when terminal.integrated.enablePersistentSessions is enabled.

message?: string

A message to write to the terminal on first launch. Note that this is not sent to the process, but rather written directly to the terminal. This supports escape sequences such as setting text style.

name?: string

Human readable representation of the terminal in the UI.

shellArgs?: string | string[]

Args for the custom shell executable. A string can be used on Windows only which allows specifying shell args in command-line format.

shellPath?: string

Path to the executable shell. For example "/bin/bash", "bash", "sh".

strictEnv?: boolean

Whether the terminal process environment should be exactly as provided in TerminalOptions.env. When this is false (default), the environment will be based on the window's environment and also apply configured platform settings like terminal.integrated.windows.env on top. When this is true, the complete environment must be provided as nothing will be inherited from the process or any configuration.