The MarkdownString represents human readable text that supports formatting via the markdown syntax. Standard markdown is supported, also tables, but no embedded html.

Implemented by

Constructors

Properties

baseUri?: Uri

Uri that relative paths are resolved relative to.

If the baseUri ends with /, it is considered a directory and relative paths in the markdown are resolved relative to that directory:

const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/dir/');
// Here 'link' in the rendered markdown resolves to '/path/to/dir/file.js'

If the baseUri is a file, relative paths in the markdown are resolved relative to the parent dir of that file:

const md = new vscode.MarkdownString(`[link](./file.js)`);
md.baseUri = vscode.Uri.file('/path/to/otherFile.js');
// Here 'link' in the rendered markdown resolves to '/path/to/file.js'
isTrusted?: boolean | {
    enabledCommands: readonly string[];
}

Indicates that this markdown string is from a trusted source. Only trusted markdown supports links that execute commands, e.g. [Run it](command:myCommandId).

Defaults to false (commands are disabled).

If this is an object, only the set of commands listed in enabledCommands are allowed.

Type declaration

  • Readonly enabledCommands: readonly string[]
supportHtml?: boolean

Indicates that this markdown string can contain raw html tags. Defaults to false.

When supportHtml is false, the markdown renderer will strip out any raw html tags that appear in the markdown text. This means you can only use markdown syntax for rendering.

When supportHtml is true, the markdown render will also allow a safe subset of html tags and attributes to be rendered. See https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296 for a list of all supported tags and attributes.

supportThemeIcons?: boolean

Indicates that this markdown string can contain ThemeIcons, e.g. $(zap).

value: string

The markdown string.

Methods