Human-readable text that supports formatting via the markdown syntax.
Rendering of {@link ThemeIcon theme icons} via the $(<name>)
-syntax is supported
when the {@linkcode supportThemeIcons} is set to true
.
Rendering of embedded html is supported when {@linkcode supportHtml} is set to true
.
Constructor
new(?value:String, ?supportThemeIcons:Bool)
Creates a new markdown string with the given value.
@link ThemeIcon ThemeIcons} are supported within the {@linkcode MarkdownString}.
Parameters:
value | Optional, initial value. |
---|---|
supportThemeIcons | Optional, Specifies whether { |
Variables
baseUri:Null<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:Null<EitherType<Bool, {enabledCommands:ReadOnlyArray<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).
supportHtml:Null<Bool>
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:Null<Bool>
Indicates that this markdown string can contain {@link ThemeIcon ThemeIcons}, e.g. $(zap)
.
Methods
appendCodeblock(value:String, ?language:String):MarkdownString
Appends the given string as codeblock using the provided language. @link languages.getLanguages language identifier}.
Parameters:
value | A code snippet. |
---|---|
language | An optional { |
appendMarkdown(value:String):MarkdownString
Appends the given string 'as is' to this markdown string. When {@linkcode MarkdownString.supportThemeIcons supportThemeIcons} is true
, {@link ThemeIcon ThemeIcons} in the value
will be iconified.
Parameters:
value | Markdown string. |
---|
appendText(value:String):MarkdownString
Appends and escapes the given string to this markdown string.
Parameters:
value | Plain text. |
---|