VS Code API
VS Code API 是一组可以在你的 Visual Studio Code 扩展中调用的 JavaScript API。此页面列出了所有可供扩展作者使用的 VS Code API。
API 命名空间和类
此列表是从 vscode.d.ts 文件中 VS Code 仓库中编译的。
认证
事件
onDidChangeSessions:事件<认证会话更改事件>
一个事件,当认证提供程序的认证会话被添加、删除或更改时触发。
函数
获取账户(提供商ID: 字符串): Thenable<只读 身份验证会话账户信息[]>
获取用户登录的指定提供者的所有账户。 与getSession一起使用,以获取特定账户的认证会话。
目前,只有两个认证提供者是来自编辑器内置扩展的,它们实现了GitHub和Microsoft认证:它们的providerId分别是'github'和'microsoft'。
Note: Getting accounts does not imply that your extension has access to that account or its authentication sessions. You can verify access to the account by calling getSession.
| Parameter | Description |
|---|---|
| providerId: string | The id of the provider to use |
| Returns | Description |
| Thenable<readonly AuthenticationSessionAccountInformation[]> | A thenable that resolves to a readonly array of authentication accounts. |
getSession(providerId: 字符串, scopeListOrRequest: 只读 字符串[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {createIfNone: 真 | AuthenticationGetSessionPresentationOptions}): Thenable< AuthenticationSession>
Get an authentication session matching the desired scopes or satisfying the WWW-Authenticate request. Rejects if a provider with providerId is not registered, or if the user does not consent to sharing authentication information with the extension. If there are multiple sessions with the same scopes, the user will be shown a quickpick to select which account they would like to use.
Built-in auth providers include:
- 'github' - For GitHub.com
- 'microsoft' For both personal & organizational Microsoft accounts
- (less common) 'github-enterprise' - for alternative GitHub hostings, GHE.com, GitHub Enterprise Server
- (less common) 'microsoft-sovereign-cloud' - for alternative Microsoft clouds
| Parameter | Description |
|---|---|
| providerId: string | The id of the provider to use |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | A scope list of permissions requested or a WWW-Authenticate request. These are dependent on the authentication provider. |
| options: AuthenticationGetSessionOptions & {createIfNone: true | AuthenticationGetSessionPresentationOptions} | The AuthenticationGetSessionOptions to use |
| Returns | Description |
| Thenable<AuthenticationSession> | A thenable that resolves to an authentication session |
getSession(providerId: 字符串, scopeListOrRequest: 只读 字符串[] | AuthenticationWwwAuthenticateRequest, options: AuthenticationGetSessionOptions & {forceNewSession: 真 | AuthenticationGetSessionPresentationOptions}): Thenable< AuthenticationSession>
Get an authentication session matching the desired scopes or request. Rejects if a provider with providerId is not registered, or if the user does not consent to sharing authentication information with the extension. If there are multiple sessions with the same scopes, the user will be shown a quickpick to select which account they would like to use.
Built-in auth providers include:
- 'github' - For GitHub.com
- 'microsoft' For both personal & organizational Microsoft accounts
- (less common) 'github-enterprise' - for alternative GitHub hostings, GHE.com, GitHub Enterprise Server
- (less common) 'microsoft-sovereign-cloud' - for alternative Microsoft clouds
| Parameter | Description |
|---|---|
| providerId: string | The id of the provider to use |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | A scope list of permissions requested or a WWW-Authenticate request. These are dependent on the authentication provider. |
| options: AuthenticationGetSessionOptions & {forceNewSession: true | AuthenticationGetSessionPresentationOptions} | The AuthenticationGetSessionOptions to use |
| Returns | Description |
| Thenable<AuthenticationSession> | A thenable that resolves to an authentication session |
getSession(providerId: 字符串, scopeListOrRequest: 只读 字符串[] | AuthenticationWwwAuthenticateRequest, options?: AuthenticationGetSessionOptions): Thenable< AuthenticationSession | 未定义>
获取一个匹配所需范围或请求的认证会话。如果未注册具有 providerId 的提供者,或用户不 consent 共享认证信息给扩展,则拒绝。如果有多于一个具有相同范围的会话,将显示快速选择,让用户选择他们希望使用的帐户。
Built-in auth providers include:
- 'github' - For GitHub.com
- 'microsoft' For both personal & organizational Microsoft accounts
- (less common) 'github-enterprise' - for alternative GitHub hostings, GHE.com, GitHub Enterprise Server
- (less common) 'microsoft-sovereign-cloud' - for alternative Microsoft clouds
| Parameter | Description |
|---|---|
| providerId: string | The id of the provider to use |
| scopeListOrRequest: readonly string[] | AuthenticationWwwAuthenticateRequest | A scope list of permissions requested or a WWW-Authenticate request. These are dependent on the authentication provider. |
| options?: AuthenticationGetSessionOptions | The AuthenticationGetSessionOptions to use |
| 退货 | 描述 |
| Thenable<认证会话 | 未定义> | 一个可解析为认证会话或在使用静默流且未找到会话时为未定义的对象 |
注册身份验证提供程序(id: 字符串, Tab: 字符串, 提供程序: 身份验证提供程序, 选项?: 身份验证提供程序选项): 可 disposable
注册一个认证提供者。
每个id只能有一个提供者,并且当id已被另一个提供者使用时,会抛出一个错误。id是区分大小写的。
聊天
聊天功能的命名空间。用户通过在聊天视图中向聊天参与者发送消息与其互动。ChatResponseStream。
函数
创建聊天参与者(id: 字符串, 处理程序: 聊天请求处理程序): 聊天参与者
命令
处理命令的命名空间。简而言之,命令是一个带有唯一标识符的函数。该函数有时也称为命令处理程序。
可以使用 registerCommand 和 registerTextEditorCommand 函数将命令添加到编辑器中。命令可以 手动 或从用户界面手势执行。这些命令是:
来自其他扩展和编辑器本身的命令可以被扩展访问。然而,当调用编辑器命令时,并非所有参数类型都受支持。
这是一个注册命令处理器并为该命令在调色板中添加条目的示例。首先
使用标识符注册一个命令处理器extension.你好输入:.
命令.注册命令('extension.sayHello', () => {
Windows.显示信息消息('Hello World!');
});
第二,将命令标识绑定到一个标题下,以便在调色板中显示(package.json)。
{
"contributes": {
"commands": [
{
"command": "extension.sayHello",
"title": "Hello World"
}
]
}
}
函数
执行命令<T>(命令: 字符串, ...剩余参数: 任何[]): Thenable<T>
执行由给定命令标识符指定的命令。
| 参数 | 描述 |
|---|---|
| 命令:字符串 | 要执行的命令的标识符。 |
| ...休息:任何[] | 传递给命令函数的参数。 |
| 退货 | 描述 |
| Thenable<T> | 一个解析为给定命令返回值的可调用对象。返回 |
获取所有可用命令的列表。以下划线开头的命令被视为内部命令。
| 参数 | 描述 |
|---|---|
| 过滤内部?:布尔值 | 设置 |
| 退货 | 描述 |
| Thenable<字符串[]> | Thenable解析为命令ID列表。 |
注册命令(命令: 字符串, 回调: (参数: 任何[]) => 任何, 上下文?: 任何): 可丢弃
注册一个可以通过键盘快捷键、菜单项、操作或直接调用的命令。
将命令注册两次并使用现有的命令标识符将会导致错误。
| 参数 | 描述 |
|---|---|
| 命令:字符串 | 命令的唯一标识符。 |
| 回调:(参数:任何[]) => 任何 | 命令处理函数。 |
| thisArg?:任何 | 该 |
| 退货 | 描述 |
| 一次性 | 一次性使用, disposal时取消注册此命令。 |
注册文本编辑器命令(命令:字符串,回调函数:(文本编辑器:TextEditor,编辑:TextEditorEdit,参数:any[]) => void,thisArg?:any):Disposable
Registers a text editor command that can be invoked via a keyboard shortcut, a menu item, an action, or directly.
Text editor commands are different from ordinary commands as they only execute when there is an active editor when the command is called. Also, the command handler of an editor command has access to the active editor and to an edit-builder. Note that the edit-builder is only valid while the callback executes.
| Parameter | Description |
|---|---|
| command: string | A unique identifier for the command. |
| callback: (textEditor: TextEditor, edit: TextEditorEdit, args: any[]) => void | |
| thisArg?:任何 | 该 |
| 退货 | 描述 |
| 一次性 | 一次性使用, disposal时取消注册此命令。 |
评论
函数
createCommentController(id: 字符串, Tab: 字符串): 评论控制器
调试
调试功能的命名空间。
变量
活动调试控制台:调试控制台
当前活动的调试控制台。 如果没有任何调试会话活动,发送到调试控制台的输出将不会显示。
活动调试会话:调试会话 | 未定义
当前活动的调试会话或未定义. 活动调试会话是通过调试操作浮动Windows表示的会话,或者当前显示在调试操作浮动Windows的下拉菜单中。
如果没有活动的调试会话,则该值为未定义输入:.
当前聚焦的线程或堆栈框架,或未定义如果没有任何线程或堆栈聚焦。线程可以在任何时候有活动的调试会话时聚焦,而堆栈帧只能在会话暂停并且已检索到调用堆栈时聚焦。
断点:只读断点[]
断点列表。
事件
onDidChangeActiveDebugSession:事件<DebugSession | 未定义>
onDidChangeActiveStackItem:事件<调试线程 | 调试栈帧 | 未定义>
一个在debug.activeStackItem改变时触发的事件。
onDidChangeBreakpoints:事件<BreakpointsChangeEvent>
一个事件,当断点集被添加、移除或更改时发出。
onDidReceiveDebugSessionCustomEvent:事件<DebugSessionCustomEvent>
onDidStartDebugSession:事件<调试会话>
onDidTerminateDebugSession:事件<调试会话>
函数
添加断点(断点: 只读 断点[]): 无返回值
添加断点。
| 参数 | 描述 |
|---|---|
| 断点:只读断点[] | 要添加的断点。 |
| 退货 | 描述 |
| 无效 |
asDebugSourceUri(源: 调试协议源, 会话?: 调试会话): 统一资源标识符
将通过调试适配器协议收到的“Source”描述符对象转换为可以用来加载其内容的Uri。 如果描述符基于路径,则返回一个文件Uri。 如果描述符使用参考编号,则构造一个特定的调试Uri(方案为“debug”),这需要相应的ContentProvider和正在运行的调试会话。
如果“Source”描述符提供的信息不足以创建Uri,则会抛出错误。
注册调试适配器描述符工厂(调试类型: 字符串, 工厂: 调试适配器描述符工厂): 可 dispose 对象
Register a debug adapter descriptor factory for a specific debug type. An extension is only allowed to register a DebugAdapterDescriptorFactory for the debug type(s) defined by the extension. Otherwise an error is thrown. Registering more than one DebugAdapterDescriptorFactory for a debug type results in an error.
| Parameter | Description |
|---|---|
| debugType: string | The debug type for which the factory is registered. |
| factory: DebugAdapterDescriptorFactory | The debug adapter descriptor factory to register. |
| Returns | Description |
| Disposable | A Disposable that unregisters this factory when being disposed. |
注册调试适配器跟踪器工厂(调试类型: 字符串, 工厂: 调试适配器跟踪器工厂): 可 disposable
为给定的调试类型注册一个调试适配器跟踪器工厂。
| 参数 | 描述 |
|---|---|
| 调试类型:字符串 | 工厂注册的调试类型或用于匹配所有调试类型的'*'。 |
| 工厂:调试适配器跟踪器工厂 | 该调试适配器跟踪器工厂用于注册。 |
| 退货 | 描述 |
| 一次性 | 一个一次性在被销毁时会注销这个工厂。 |
注册调试配置提供程序(调试类型: 字符串, 提供程序: 调试配置提供程序, 触发类型?: 调试配置提供程序触发类型): 可 disposable
注册一个特定调试类型的调试配置提供者。
这个可选的触发类型可以用来指定提供调试配置提供者的方法被触发。
目前有两种触发方式:使用值初始(或者如果没有触发类型参数)的提供调试配置方法用于提供初始调试配置,这些配置将被复制到新创建的launch.json中。
使用触发类型动态的提供调试配置 method is used to dynamically determine debug configurations to be presented to the user (in addition to the static configurations from the launch.json).
Please note that the triggerKind argument only applies to the provideDebugConfigurations method: so the resolveDebugConfiguration methods are not affected at all.
Registering a single provider with resolve methods for different trigger kinds, results in the same resolve methods called multiple times.
More than one provider can be registered for the same type.
| Parameter | Description |
|---|---|
| debugType: string | The debug type for which the provider is registered. |
| provider: DebugConfigurationProvider | The debug configuration provider to register. |
| 触发类型?:调试配置提供程序触发类型 | 触发的条件,注册了提供者的方法'提供调试配置'。如果 |
| 退货 | 描述 |
| 一次性 | 一个一次性在被释放时注销此提供者。 |
移除断点(断点: 只读 断点[]): 无返回值
移除断点。
| 参数 | 描述 |
|---|---|
| 断点:只读断点[] | 要移除的断点。 |
| 退货 | 描述 |
| 无效 |
开始调试(文件夹: 工作区文件夹, 名称或配置: 字符串 | 调试配置, 父会话或选项?: 调试会话 | 调试会话选项): Thenable<布尔值>
Start debugging by using either a named launch or named compound configuration, or by directly passing a DebugConfiguration. The named configurations are looked up in '.vscode/launch.json' found in the given folder. Before debugging starts, all unsaved files are saved and the launch configurations are brought up-to-date. Folder specific variables used in the configuration (e.g. '${workspaceFolder}') are resolved against the given folder.
| Parameter | Description |
|---|---|
| folder: WorkspaceFolder | The workspace folder for looking up named configurations and resolving variables or |
| nameOrConfiguration: string | DebugConfiguration | 调试或复合配置的名称,或者一个DebugConfiguration对象。 |
| 父会话或选项?: 调试会话 | 调试会话选项 | 调试会话选项。当传递一个父调试会话时,假设仅此父会话的选项。 |
| 退货 | 描述 |
| Thenable<布尔值> | 一个在调试可以成功启动时解析的Thenable。 |
停止调试(会话?: 调试会话): 然后可<无>
环境
命名空间描述编辑器运行的环境。
变量
应用程序托管的位置 在桌面端,这是“desktop” 在网页端,这是指定的嵌入者,即“github.dev”、“codespaces”或“web”,如果嵌入者 不提供该信息
编辑器的名称,例如 'VS Code'。
编辑器正在运行的应用程序根文件夹。
注意 在没有应用程序根文件夹表示的环境中运行时,该值为空字符串。
剪贴板:剪贴板
系统剪贴板。
表示这是该应用程序的新安装。
真如果在安装的第一天内,否则假的输入:.
指示用户是否启用了遥测。 可以观察以确定扩展是否应发送遥测。
代表首选用户语言,例如德语-瑞士,输入:fr,或英语-美国输入:.
日志级别:日志级别
当前编辑器的日志级别。
计算机的唯一标识符。
一个远程的名称。由扩展定义,流行的示例是适用于 Linux 的 Windows 子系统适用于 Linux 的 Windows 子系统或ssh-远程对于使用安全外壳的遥控器。
注意该值是未定义 当没有远程扩展主机,但在所有扩展主机(本地和远程)中定义了该值的情况下使用。如果存在远程扩展主机,则所有扩展主机都定义该值。使用 Extension.extensionKind 来判断特定扩展是否在远程运行或不运行。
当前会话的唯一标识符。 每次启动编辑器时都会更改。
检测到的扩展主机的默认 shell,这被覆盖
终端.集成.默认配置文件扩展主机平台的设置。请注意,在不支持 shell 的环境中,该值为空字符串。
uiKind:UIKind
UI种类属性表示从哪个UI扩展进行访问。例如,扩展可以从桌面应用程序或网页浏览器中访问。
编辑器在操作系统中注册的自定义uri方案。
事件
一个事件,当编辑器的日志级别改变时触发。
onDidChangeShell:事件<字符串>
一个事件,当默认外壳更改时触发。此事件会传递新的外壳路径。
onDidChangeTelemetryEnabled:事件<布尔值>
一个事件,当用户启用或禁用遥测时触发。
真如果用户已启用遥测或假的如果用户已禁用遥测。
函数
asExternalUri(目标: Uri): Thenable<Uri>
将uri解析为可从外部访问的形式。
对不起,我无法处理包含http链接的文本。如果你能提供具体的文本内容,我可以帮你翻译。或对不起,我无法访问特定的网页链接。如果你能提供网页上的具体文本,我可以帮你翻译。计划
解析一个外部uri,例如一个对不起,我无法处理包含http链接的文本。如果你能提供具体的文本内容,我可以帮你翻译。或对不起,我无法访问特定的网页链接。如果你能提供网页上的具体文本,我可以帮你翻译。 link, from where the extension is running to a
uri to the same resource on the client machine.
This is a no-op if the extension is running on the client machine.
If the extension is running remotely, this function automatically establishes a port forwarding tunnel
from the local machine to target on the remote and returns a local uri to the tunnel. The lifetime of
the port forwarding tunnel is managed by the editor and the tunnel can be closed by the user.
Note that uris passed through openExternal are automatically resolved and you should not call asExternalUri on them.
vscode.env.uriScheme
Creates a uri that - if opened in a browser (e.g. via openExternal) - will result in a registered UriHandler
to trigger.
Extensions should not make any assumptions about the resulting uri and should not alter it in any way. Rather, extensions can e.g. use this uri in an authentication flow, by adding the uri as callback query argument to the server to authenticate to.
Note that if the server decides to add additional query parameters to the uri (e.g. a token or secret), it will appear in the uri that is passed to the UriHandler.
Example of an authentication flow:
vscode.window.registerUriHandler({
handleUri(uri: vscode.Uri): vscode.ProviderResult<void> {
if (uri.path === '/did-authenticate') {
console.log(uri.toString());
}
}
});
const callableUri = await vscode.env.asExternalUri(
vscode.Uri.parse(vscode.env.uriScheme + '://my.extension/did-authenticate')
);
await vscode.env.openExternal(callableUri);
Note that extensions should not cache the result of asExternalUri as the resolved uri may become invalid due to
a system or user action — for example, in remote cases, a user may close a port forwarding tunnel that was opened by
asExternalUri.
Any other scheme
任何其他方案将被视为提供的URI是一个工作区URI。在这种情况下,该方法将返回一个URI,当处理该URI时,编辑器将打开工作区。
创建遥测记录器(发送者: TelemetrySender, 选项?: TelemetryLoggerOptions): TelemetryLogger
创建一个新的遥测记录器。
| 参数 | 描述 |
|---|---|
| 发送者:遥测发送器 | 遥测记录器所使用的遥测发送器。 |
| 选项?:TelemetryLogger选项 | 遥测记录器选项。 |
| 退货 | 描述 |
| 遥测记录器 | 一个新的遥测记录器 |
打开外部(目标: Uri): Thenable<布尔值>
使用默认应用程序在外部打开链接。根据使用的方案,这可以是:
- 一个浏览器 (
对不起,我无法处理包含http链接的文本。如果你能提供具体的文本内容,我可以帮你翻译。,对不起,我无法访问特定的网页链接。如果你能提供网页上的具体文本,我可以帮你翻译。) - 一个邮件客户端 (
mailto:) - VSCode本身 (
vscode:从vscode.env.uriScheme)
注意,showTextDocument是正确在编辑器内打开文本文件的方法,而不是这个函数。
| 参数 | 描述 |
|---|---|
| 目标:Uri | 应该打开的uri。 |
| 退货 | 描述 |
| Thenable<布尔值> | 一个表示打开是否成功的承诺。 |
扩展
处理已安装扩展的命名空间。扩展由扩展-接口表示,该接口允许对它们进行反射。
扩展 writers 可以通过从返回它们的 API 公开表面来为其他扩展提供 API激活-调用。
```plaintext
导出 函数 激活(上下文: vscode.扩展上下文) {
let api = {
求和(a, b) {
return a + b;
},
乘法(a, b) {
return a * b;
}
};
// '导出' 公开的 api 表面
return api;
}
```
当依赖其他扩展的API时,请添加一个扩展依赖-条目
至package.json,并使用getExtension-函数
和exports-属性,如下所示:
let mathExt = extensions.getExtension('genius.math');
let importedApi = mathExt.exports;
控制台.日志(导入的API.乘(42, 1));
变量
所有:只读扩展<任何>[]
系统当前已知的所有扩展。
事件
onDidChange:Event<void>
一个在...触发的事件扩展.全部更改。这可能发生在安装、卸载、启用或禁用扩展时。
函数
getExtension<T>(extensionId: 字符串): 扩展<T> | 未定义
通过其完整的标识符获取扩展名,格式如下:出版商名称输入:.
| 参数 | 描述 |
|---|---|
| 扩展ID:字符串 | 扩展标识符。 |
| 退货 | 描述 |
| 扩展<T> | 未定义 | 一个扩展或 |
本地化
在扩展 API 中用于本地化相关功能的命名空间。要正确使用此功能,您必须拥有本地化在你的扩展清单中定义并拥有bundle.l10n。
注意:内置扩展(例如,Git、TypeScript 语言功能、GitHub 认证)不包括在内。本地化财产要求。换句话说,他们不需要指定本地化在扩展清单中,因为它们的翻译字符串来自语言包。
变量
已加载到扩展的本地化字符串包。 如果未加载任何包,则该包未定义。通常情况下,如果没有找到包或者我们使用默认语言运行时,不会加载包。
uri: Uri | 未定义
已加载到扩展的本地化包的URI。 如果未加载任何包,则未定义。通常情况下,如果没有找到包或我们在使用默认语言时,不会加载包。
函数
消息: 字符串,…参数: 数组(字符串 | 数字 | 布尔值): 字符串
标记一个字符串用于本地化。如果通过 env.language 指定的语言有可用的本地化包,并且该包对此消息有本地化值,则将返回该本地化值(并注入 args 用于任何模板值)。
Example
l10n.t('Hello {0}!', 'World');
| Parameter | Description |
|---|---|
| message: string | The message to localize. Supports index templating where strings like |
| ...args: Array<string | number | boolean> | The arguments to be used in the localized string. The index of the argument is used to match the template placeholder in the localized string. |
| Returns | Description |
| string | localized string with injected arguments. |
消息:字符串,参数:记录:字符串,字符串 | 数字 | 布尔值):字符串
标记一个字符串用于本地化。如果通过 env.language 指定的语言有可用的本地化包,并且该包对此消息有本地化值,则将返回该本地化值(并注入 args 用于任何模板值)。
示例
l10n.t('Hello {name}', { name: 'Erich' });
| 参数 | 描述 |
|---|---|
| message: string | The message to localize. Supports named templating where strings like |
| args: Record<string, string | number | boolean> | The arguments to be used in the localized string. The name of the key in the record is used to match the template placeholder in the localized string. |
| Returns | Description |
| string | localized string with injected arguments. |
t ( options : {args: Array< string | number | boolean > | Record < string , string | number | boolean >, comment: string | string [], message: string }): string
为本地化标记字符串。如果通过 env.language 指定的语言有可用的本地化包,并且该包对此消息有本地化值,则将返回该本地化值(对于任何模板值,注入 args 值)。
| 参数 | 描述 |
|---|---|
| 选项:{参数: 数组<字符串 | 数字 | 布尔值> | 记录<字符串, 字符串 | 数字 | 布尔值>, 注释: 字符串 | 字符串[], 消息: 字符串} | 在本地化消息时使用的选项。 |
| 退货 | 描述 |
| 字符串 | 本地化字符串,带有注入的参数。 |
语言
用于参与特定语言的编辑器功能的命名空间,例如IntelliSense、代码操作、诊断等。
许多编程语言存在,并且在语法、语义和范式上存在巨大差异。尽管如此,像自动词完成、代码导航或代码检查这样的功能在不同编程语言的不同工具中变得流行。
该编辑器提供了一个API,通过这种方式,所有的用户界面和操作已经就位,并且允许您仅通过提供数据来参与,从而简单地提供诸如悬停等常见功能。例如,要贡献一个悬停,您只需提供一个可以接受TextDocument和Position并返回悬停信息的函数。其余的,例如跟踪鼠标,定位悬停,保持悬停稳定等,都由编辑器处理。
语言.注册悬停提供者('javascript', {
提供悬停(document, 位置, 令牌) {
返回 new 悬停('我是悬停!');
}
});
注册是通过文档选择器完成的,它可以是语言ID,例如JavaScript 或
一个更复杂的 过滤器 像 { 语言: 'typescript', 方案: 'file' }将文档与这样的选择器匹配将产生一个分数,用于确定是否以及如何使用提供者。当
分数相等时,最近的提供者获胜。对于允许完全arity的特性,例如 hover,
仅检查分数是否为 >0对于其他功能,例如IntelliSense,得分用于确定提供者参与的顺序。
事件
onDidChangeDiagnostics:事件<诊断更改事件>
一个事件,当全局诊断集更改时触发。这是新增和移除的诊断。
函数
创建诊断集合(名称?: 字符串): 诊断集合
创建语言状态项(id: 字符串, 选择器: 文档选择器): 语言状态项
getDiagnostics(): 数组<[Uri, 诊断[]]>
获取所有诊断。
| 参数 | 描述 |
|---|---|
| 退货 | 描述 |
| 数组<[Uri, Diagnostic[]]> | 一个uri-diagnostics元组数组或一个空数组。 |
返回所有已知语言的标识符。
| 参数 | 描述 |
|---|---|
| 退货 | 描述 |
| Thenable<字符串[]> | 承诺解析为一个标识符字符串数组。 |
计算文档 选择器 与文档之间的匹配。值大于零表示选择器匹配该文档。
比赛根据以下规则进行计算:
- 当DocumentSelector是一个数组时,为其中的每个元素计算匹配
文档过滤器or language identifier and take the maximum value. - A string will be desugared to become the
language-part of a DocumentFilter, so"fooLang"is like{ language: "fooLang" }. - A DocumentFilter will be matched against the document by comparing its parts with the document. The following rules apply:
- When the
DocumentFilteris empty ({}) the result is0 - When
scheme,language,pattern, ornotebookare defined but one doesn't match, the result is0 - Matching against
*gives a score of5, matching via equality or via a glob-pattern gives a score of10 - The result is the maximum value of each match
- When the
Samples:
// default document from disk (file-scheme)
doc.uri; //'file:///my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript' }, doc); // 10;
match({ language: 'javascript', scheme: 'file' }, doc); // 10;
match('*', doc); // 5
match('fooLang', doc); // 0
match(['fooLang', '*'], doc); // 5
// virtual document, e.g. from git-index
doc.uri; // 'git:/my/file.js'
doc.languageId; // 'javascript'
match('javascript', doc); // 10;
match({ language: 'javascript', scheme: 'git' }, doc); // 10;
match('*', doc); // 5
// notebook cell document
doc.uri; // `vscode-notebook-cell:///my/notebook.ipynb#gl65s2pmha`;
doc.languageId; // 'python'
match({ notebookType: 'jupyter-notebook' }, doc); // 10
match({ notebookType: 'fooNotebook', language: 'python' }, doc); // 0
match({ language: 'python' }, doc); // 10
match({ notebookType: '*' }, 文档); // 5
注册调用层次提供者(选择器: 文档选择器, 提供者: 调用层次提供者): 可 dispose 对象
注册代码行动提供程序(选择器:文档选择器,提供程序:代码行动提供程序<代码行动>,元数据?:代码行动提供程序元数据):可 dispose 对象
注册代码行动提供者。
多个提供者可以注册用于一种语言。在这种情况下,提供者会并行地被询问,结果会被合并。一个失败的提供者(被拒绝的承诺或异常)不会导致整个操作失败。
| 参数 | 描述 |
|---|---|
| 选择器:文档选择器 | 定义此提供程序适用的文档的选择器。 |
| 提供者:CodeActionProvider<CodeAction> | 代码行动提供程序。 |
| 元数据?:CodeActionProviderMetadata | 关于代码提供程序提供的代码操作的元数据。 |
| 退货 | 描述 |
| 一次性 | 一个一次性在被释放时注销此提供者。 |
注册代码感知提供者(选择器: 文档选择器, 提供者: 代码感知提供者<代码感知>): 一次性对象
注册代码透镜提供者。
多个提供者可以注册用于一种语言。在这种情况下,提供者会并行地被询问,结果会被合并。一个失败的提供者(被拒绝的承诺或异常)不会导致整个操作失败。
| 参数 | 描述 |
|---|---|
| 选择器:文档选择器 | 定义此提供程序适用的文档的选择器。 |
| 提供者:CodeLensProvider<CodeLens> | 代码 lens 提供者。 |
| 退货 | 描述 |
| 一次性 | 一个一次性在被释放时注销此提供者。 |
注册颜色提供者(选择器: DocumentSelector, 提供者: DocumentColorProvider): Disposable
Register a color provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentColorProvider | A color provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册完成项提供程序(选择器: 文档选择器, 提供程序: 完成项提供程序<完成项>, ...触发字符: 字符串[]): 可丢弃
Register a completion provider.
Multiple providers can be registered for a language. In that case providers are sorted by their score and groups of equal score are sequentially asked for completion items. The process stops when one or many providers of a group return a result. A failing provider (rejected promise or exception) will not fail the whole operation.
A completion item provider can be associated with a set of triggerCharacters. When trigger
characters are being typed, completions are requested but only from providers that registered
the typed character. Because of that trigger characters should be different than word characters,
a common trigger character is . to trigger member completions.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: CompletionItemProvider<CompletionItem> | A completion provider. |
| ...triggerCharacters: string[] | Trigger completion when the user types one of the characters. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册声明提供程序(选择器: DocumentSelector, 提供程序: DeclarationProvider): Disposable
Register a declaration provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DeclarationProvider | A declaration provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册定义提供程序(选择器: 文档选择器, 提供程序: 定义提供程序): 可 dispose 对象
Register a definition provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DefinitionProvider | A definition provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档拖放编辑提供程序(选择器:DocumentSelector,提供程序:DocumentDropEditProvider<DocumentDropEdit>,元数据?:DocumentDropEditProviderMetadata):Disposable
Registers a new DocumentDropEditProvider.
Multiple drop providers can be registered for a language. When dropping content into an editor, all registered providers for the editor's language will be invoked based on the mimetypes they handle as specified by their DocumentDropEditProviderMetadata.
Each provider can return one or more DocumentDropEdits. The edits are sorted using the DocumentDropEdit.yieldTo property. By default the first edit will be applied. If there are any additional edits, these will be shown to the user as selectable drop options in the drop widget.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider applies to. |
| provider: DocumentDropEditProvider<DocumentDropEdit> | A drop provider. |
| metadata?: DocumentDropEditProviderMetadata | Additional metadata about the provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when disposed of. |
注册文档格式化编辑提供者(选择器: 文档选择器, 提供者: 文档格式化编辑提供者): 可丢弃
Register a formatting provider for a document.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentFormattingEditProvider | A document formatting edit provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档高亮提供者(选择器: 文档选择器, 提供者: 文档高亮提供者): 可丢弃
Register a document highlight provider.
Multiple providers can be registered for a language. In that case providers are sorted
by their score and groups sequentially asked for document highlights.
The process stops when a provider returns a non-falsy or non-failure result.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentHighlightProvider | A document highlight provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档链接提供程序(选择器: 文档选择器, 提供程序: 文档链接提供程序<文档链接>): 可 disposable
Register a document link provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentLinkProvider<DocumentLink> | A document link provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档粘贴编辑提供程序(选择器: DocumentSelector, 提供程序: DocumentPasteEditProvider<DocumentPasteEdit>, 元数据: DocumentPasteProviderMetadata): Disposable
Registers a new DocumentPasteEditProvider.
Multiple providers can be registered for a language. All registered providers for a language will be invoked for copy and paste operations based on their handled mimetypes as specified by the DocumentPasteProviderMetadata.
For copy operations, changes to the DataTransfer made by each provider will be merged into a single DataTransfer that is used to populate the clipboard.
For [DocumentPasteEditProvider.providerDocumentPasteEdits paste operations](#_DocumentPasteEditProvider.providerDocumentPasteEdits paste operations), each provider will be invoked and can return one or more DocumentPasteEdits. The edits are sorted using the DocumentPasteEdit.yieldTo property. By default the first edit will be applied and the rest of the edits will be shown to the user as selectable paste options in the paste widget.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider applies to. |
| provider: DocumentPasteEditProvider<DocumentPasteEdit> | A paste editor provider. |
| metadata: DocumentPasteProviderMetadata | Additional metadata about the provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when disposed of. |
注册文档范围格式化编辑提供程序(选择器: 文档选择器, 提供程序: 文档范围格式化编辑提供程序): 可 disposable
Register a formatting provider for a document range.
Note: A document range provider is also a document formatter which means there is no need to register a document formatter when also registering a range provider.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentRangeFormattingEditProvider | A document range formatting edit provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档范围语义令牌提供程序(选择器: 文档选择器, 提供程序: 文档范围语义令牌提供程序, 图例: 语义令牌图例): 可丢弃
Register a semantic tokens provider for a document range.
Note: If a document has both a DocumentSemanticTokensProvider and a DocumentRangeSemanticTokensProvider,
the range provider will be invoked only initially, for the time in which the full document provider takes
to resolve the first request. Once the full document provider resolves the first request, the semantic tokens
provided via the range provider will be discarded and from that point forward, only the document provider
will be used.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentRangeSemanticTokensProvider | A document range semantic tokens provider. |
| legend: SemanticTokensLegend | |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档语义令牌提供程序(选择器: 文档选择器, 提供程序: 文档语义令牌提供程序, 图例: 语义令牌图例): 可丢弃
Register a semantic tokens provider for a whole document.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentSemanticTokensProvider | A document semantic tokens provider. |
| legend: SemanticTokensLegend | |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文档符号提供程序(选择器: 文档选择器, 提供程序: 文档符号提供程序, 元数据?: 文档符号提供程序元数据): 可 disposable
Register a document symbol provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: DocumentSymbolProvider | A document symbol provider. |
| metaData?: DocumentSymbolProviderMetadata | metadata about the provider |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册可评估表达式提供程序(选择器:DocumentSelector,提供程序:EvaluatableExpressionProvider):Disposable
Register a provider that locates evaluatable expressions in text documents. The editor will evaluate the expression in the active debug session and will show the result in the debug hover.
If multiple providers are registered for a language an arbitrary provider will be used.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: EvaluatableExpressionProvider | An evaluatable expression provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册折叠范围提供程序(选择器: 文档选择器, 提供程序: 折叠范围提供程序): 可 dispose 对象
Register a folding range provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. If multiple folding ranges start at the same position, only the range of the first registered provider is used. If a folding range overlaps with an other range that has a smaller position, it is also ignored.
A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: FoldingRangeProvider | A folding range provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册悬停提供者(选择器: 文档选择器, 提供者: 悬停提供者): 可 dispose 对象
Register a hover provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: HoverProvider | A hover provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册实现提供者(选择器: DocumentSelector, 提供者: ImplementationProvider): Disposable
Register an implementation provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: ImplementationProvider | An implementation provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册内联提示提供者(选择器: 文档选择器, 提供者: 内联提示提供者<内联提示>): 可丢弃
Register a inlay hints provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: InlayHintsProvider<InlayHint> | An inlay hints provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册内联完成项提供程序(选择器: DocumentSelector, 提供程序: InlineCompletionItemProvider): Disposable
Registers an inline completion provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: InlineCompletionItemProvider | An inline completion provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册内联值提供程序(选择器: 文档选择器, 提供程序: 内联值提供程序): 可 disposable
Register a provider that returns data for the debugger's 'inline value' feature. Whenever the generic debugger has stopped in a source file, providers registered for the language of the file are called to return textual data that will be shown in the editor at the end of lines.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: InlineValuesProvider | An inline values provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册链接编辑范围提供程序(选择器:DocumentSelector,提供程序:LinkedEditingRangeProvider):Disposable
Register a linked editing range provider.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider that has a result is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: LinkedEditingRangeProvider | A linked editing range provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册类型格式化编辑提供程序(选择器: 文档选择器, 提供程序: 类型格式化编辑提供程序, 第一个触发字符: 字符串, ...更多触发字符: 字符串[]): 可 dispose 对象
Register a formatting provider that works on type. The provider is active when the user enables the setting editor.formatOnType.
Multiple providers can be registered for a language. In that case providers are sorted by their score and the best-matching provider is used. Failure of the selected provider will cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: OnTypeFormattingEditProvider | An on type formatting edit provider. |
| firstTriggerCharacter: string | A character on which formatting should be triggered, like |
| ...moreTriggerCharacter: string[] | More trigger characters. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册参考提供程序(选择器: 文档选择器, 提供程序: 参考提供程序): 可 disposable
Register a reference provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: ReferenceProvider | A reference provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册重命名提供程序(选择器: DocumentSelector, 提供程序: RenameProvider): Disposable
Register a rename provider.
Multiple providers can be registered for a language. In that case providers are sorted by their score and asked in sequence. The first provider producing a result defines the result of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: RenameProvider | A rename provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册选择范围提供程序(选择器:文档选择器,提供程序:选择范围提供程序):可 disposable
Register a selection range provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: SelectionRangeProvider | A selection range provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册签名帮助提供程序(选择器: 文档选择器, 提供程序: 签名帮助提供程序, ...触发字符: 字符串[]): 可 disposable
Register a signature help provider.
Multiple providers can be registered for a language. In that case providers are sorted by their score and called sequentially until a provider returns a valid result.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: SignatureHelpProvider | A signature help provider. |
| ...triggerCharacters: string[] | Trigger signature help when the user types one of the characters, like |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册签名帮助提供程序(选择器: 文档选择器, 提供程序: 签名帮助提供程序, 元数据: 签名帮助提供程序元数据): 可 disposable
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: SignatureHelpProvider | A signature help provider. |
| metadata: SignatureHelpProviderMetadata | Information about the provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册类型定义提供程序(选择器: 文档选择器, 提供程序: 类型定义提供程序): 可丢弃
Register a type definition provider.
Multiple providers can be registered for a language. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: TypeDefinitionProvider | A type definition provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册类型层次结构提供程序(选择器: 文档选择器, 提供程序: 类型层次结构提供程序): 可丢弃的
Register a type hierarchy provider.
| Parameter | Description |
|---|---|
| selector: DocumentSelector | A selector that defines the documents this provider is applicable to. |
| provider: TypeHierarchyProvider | A type hierarchy provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册工作区符号提供者(提供者: 工作区符号提供者<符号信息>): 可 disposable
Register a workspace symbol provider.
Multiple providers can be registered. In that case providers are asked in parallel and the results are merged. A failing provider (rejected promise or exception) will not cause a failure of the whole operation.
| Parameter | Description |
|---|---|
| provider: WorkspaceSymbolProvider<SymbolInformation> | A workspace symbol provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
设置语言配置(语言: 字符串, 配置: 语言配置): 一次性
Set a language configuration for a language.
| Parameter | Description |
|---|---|
| language: string | A language identifier like |
| configuration: LanguageConfiguration | Language configuration. |
| Returns | Description |
| Disposable | A Disposable that unsets this configuration. |
setTextDocumentLanguage(文档: 文本文档, 语言ID: 字符串): Thenable<文本文档>
Set (and change) the language that is associated with the given document.
Note that calling this function will trigger the onDidCloseTextDocument event followed by the onDidOpenTextDocument event.
| Parameter | Description |
|---|---|
| document: TextDocument | The document which language is to be changed |
| languageId: string | The new language identifier. |
| Returns | Description |
| Thenable<TextDocument> | A thenable that resolves with the updated document. |
输入:lm
用于语言模型相关功能的命名空间。
变量
工具:只读语言模型工具信息[]{}
A list of all available tools that were registered by all extensions using lm.registerTool. They can be called
with lm.invokeTool with input that match their declared inputSchema.
事件
onDidChangeChatModels:事件<无>
An event that is fired when the set of available chat models changes.
函数
invokeTool(name: 字符串, 选项: LanguageModelToolInvocationOptions<对象>, 令牌?: CancellationToken): Thenable<LanguageModelToolResult>
Invoke a tool listed in lm.tools by name with the given input. The input will be validated against the schema declared by the tool
A tool can be invoked by a chat participant, in the context of handling a chat request, or globally by any extension in any custom flow.
In the former case, the caller shall pass the toolInvocationToken, which comes from a chat request. This makes sure the chat UI shows the tool invocation for the correct conversation.
A tool result is an array of text- and
prompt-tsx-parts. If the tool caller is using vscode/prompt-tsx, it can
incorporate the response parts into its prompt using a ToolResult. If not, the parts can be passed along to the
LanguageModelChat via a user message with a LanguageModelToolResultPart.
If a chat participant wants to preserve tool results for requests across multiple turns, it can store tool results in the ChatResult.metadata returned from the handler and retrieve them on the next turn from ChatResponseTurn.result.
| Parameter | Description |
|---|---|
| name: string | The name of the tool to call. |
| options: LanguageModelToolInvocationOptions<object> | The options to use when invoking the tool. |
| token?: CancellationToken | A cancellation token. See CancellationTokenSource for how to create one. |
| Returns | Description |
| Thenable<LanguageModelToolResult> | The result of the tool invocation. |
注册语言模型聊天提供者(供应商: 字符串, 提供者: 语言模型聊天提供者<语言模型聊天信息>): 一次性
Registers a LanguageModelChatProvider
Note: You must also define the language model chat provider via the languageModelChatProviders contribution point in package.json
| Parameter | Description |
|---|---|
| vendor: string | The vendor for this provider. Must be globally unique. An example is |
| provider: LanguageModelChatProvider<LanguageModelChatInformation> | The provider to register |
| Returns | Description |
| Disposable | A disposable that unregisters the provider when disposed |
注册Mcp服务器定义提供程序(id: 字符串, 提供程序: Mcp服务器定义提供程序<Mcp服务器定义>): 可 dispose
Registers a provider that publishes 模型上下文协议 servers for the editor to consume. This allows MCP servers to be dynamically provided to the editor in addition to those the user creates in their configuration files.
Before calling this method, extensions must register the contributes.mcpServerDefinitionProviders
extension point with the corresponding id, for example:
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "cool-cloud-registry.mcp-servers",
"label": "Cool Cloud Registry",
}
]
}
When a new McpServerDefinitionProvider is available, the editor will, by default,
automatically invoke it to discover new servers and tools when a chat message is
submitted. To enable this flow, extensions should call
registerMcpServerDefinitionProvider during activation.
| Parameter | Description |
|---|---|
| id: string | The ID of the provider, which is unique to the extension. |
| provider: McpServerDefinitionProvider<McpServerDefinition> | The provider to register |
| Returns | Description |
| Disposable | A disposable that unregisters the provider when disposed. |
注册工具<T>(名称: 字符串, 工具: 语言模型工具<T>): 一次性
Register a LanguageModelTool. The tool must also be registered in the package.json languageModelTools contribution
point. A registered tool is available in the lm.tools list for any extension to see. But in order for it to
be seen by a language model, it must be passed in the list of available tools in LanguageModelChatRequestOptions.tools.
| Parameter | Description |
|---|---|
| name: string | |
| tool: LanguageModelTool<T> | |
| Returns | Description |
| Disposable | A Disposable that unregisters the tool when disposed. |
选择聊天模型(选择器?: 语言模型聊天选择器): Thenable<语言模型聊天[]>
Select chat models by a selector. This can yield multiple or no chat models and extensions must handle these cases, esp. when no chat model exists, gracefully.
const models = await vscode.lm.selectChatModels({ family: 'gpt-3.5-turbo' });
if (models.length > 0) {
const [first] = models;
const response = await first.sendRequest(...)
// ...
} else {
// NO chat models available
}
A selector can be written to broadly match all models of a given vendor or family, or it can narrowly select one model by ID. Keep in mind that the available set of models will change over time, but also that prompts may perform differently in different models.
Note that extensions can hold on to the results returned by this function and use them later. However, when the onDidChangeChatModels-event is fired the list of chat models might have changed and extensions should re-query.
| Parameter | Description |
|---|---|
| selector?: LanguageModelChatSelector | A chat model selector. When omitted all chat models are returned. |
| Returns | Description |
| Thenable<LanguageModelChat[]> | An array of chat models, can be empty! |
笔记本电脑
笔记本的命名空间。
笔记本功能由三个松散耦合的组件组成:
- NotebookSerializer 启用编辑器以打开、显示和保存笔记本
- NotebookController 负责笔记本的执行,例如他们从代码单元格中生成输出。
- NotebookRenderer在编辑器中呈现Notebook输出。它们在单独的上下文中运行。
函数
createNotebookController(id: 字符串, notebookType: 字符串, label: 字符串, handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => 无 | Thenable<无>): NotebookController
Creates a new notebook controller.
| Parameter | Description |
|---|---|
| id: string | Identifier of the controller. Must be unique per extension. |
| notebookType: string | A notebook type for which this controller is for. |
| label: string | The label of the controller. |
| handler?: (cells: NotebookCell[], notebook: NotebookDocument, controller: NotebookController) => void | Thenable<void> | The execute-handler of the controller. |
| Returns | Description |
| NotebookController | A new notebook controller. |
创建渲染器消息(渲染器ID: 字符串): 笔记本渲染器消息
Creates a new messaging instance used to communicate with a specific renderer.
- Note 1: Extensions can only create renderer that they have defined in their
package.json-file - Note 2: A renderer only has access to messaging if
requiresMessagingis set toalwaysoroptionalin itsnotebookRenderercontribution.
| Parameter | Description |
|---|---|
| rendererId: string | The renderer ID to communicate with |
| Returns | Description |
| NotebookRendererMessaging | A new notebook renderer messaging object. |
注册笔记本单元状态栏项提供程序(笔记本类型: 字符串, 提供程序: 笔记本单元状态栏项提供程序): 可 dispose 对象
Register a cell statusbar item provider for the given notebook type.
| Parameter | Description |
|---|---|
| notebookType: string | The notebook type to register for. |
| provider: NotebookCellStatusBarItemProvider | A cell status bar provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
scm
源代码控制管理的命名空间。
变量
输入框:源控制输入框
The input box for the last source control created by the extension.
- deprecated - Use SourceControl.inputBox instead
函数
createSourceControl(id: 字符串, Tab: 字符串, 根Uri?: Uri): 源控制
Creates a new source control instance.
| Parameter | Description |
|---|---|
| id: string | An |
| label: string | A human-readable string for the source control. E.g.: |
| rootUri?: Uri | An optional Uri of the root of the source control. E.g.: |
| Returns | Description |
| SourceControl | An instance of source control. |
任务
任务功能的命名空间。
变量
任务执行:只读 任务执行[]
The currently active task executions or an empty array.
事件
Fires when a task ends.
onDidEndTaskProcess:事件<任务处理结束事件>
Fires when the underlying process has ended. This event will not fire for tasks that don't execute an underlying process.
Fires when a task starts.
onDidStartTaskProcess:事件<TaskProcessStartEvent>
Fires when the underlying process has been started. This event will not fire for tasks that don't execute an underlying process.
函数
Executes a task that is managed by the editor. The returned task execution can be used to terminate the task.
- throws - When running a ShellExecution or a ProcessExecution task in an environment where a new process cannot be started. In such an environment, only CustomExecution tasks can be run.
| Parameter | Description |
|---|---|
| task: Task | the task to execute |
| Returns | Description |
| Thenable<TaskExecution> | A thenable that resolves to a task execution. |
Fetches all tasks available in the systems. This includes tasks
from tasks.json files as well as tasks from task providers
contributed through extensions.
| Parameter | Description |
|---|---|
| filter?: TaskFilter | Optional filter to select tasks of a certain type or version. |
| Returns | Description |
| Thenable<Task[]> | A thenable that resolves to an array of tasks. |
注册任务提供者(类型: 字符串, 提供者: 任务提供者<任务>): 可 dispose
Register a task provider.
| Parameter | Description |
|---|---|
| type: string | The task kind type this provider is registered for. |
| provider: TaskProvider<Task> | A task provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
测试
用于测试功能的命名空间。测试通过注册 TestController实例,然后添加TestItems来发布。 控制器还可以通过创建一个或多个TestRunProfile实例来描述如何运行测试。
函数
创建测试控制器(id: 字符串, Tab: 字符串): 测试控制器
Creates a new test controller.
| Parameter | Description |
|---|---|
| id: string | Identifier for the controller, must be globally unique. |
| label: string | A human-readable label for the controller. |
| Returns | Description |
| TestController | An instance of the TestController. |
Windows
用于处理当前编辑器Windows的命名空间。包括可见且活动的编辑器,以及用于显示消息、选择和请求用户输入的UI元素。
变量
活动颜色主题:颜色主题
The currently active color theme as configured in the settings. The active
theme can be changed via the workbench.colorTheme setting.
活动笔记本编辑器:笔记本编辑器 | 未定义
The currently active notebook editor or undefined. The active editor is the one
that currently has focus or, when none has focus, the one that has changed
input most recently.
活动终端:终端 | 未定义
The currently active terminal or undefined. The active terminal is the one that
currently has focus or most recently had focus.
活动文本编辑器: 文本编辑器 | 未定义
The currently active editor or undefined. The active editor is the one
that currently has focus or, when none has focus, the one that has changed
input most recently.
状态:Windows状态
Represents the current window's state.
标签组:标签组
Represents the grid widget within the main editor area
终端:只读 终端[]
The currently opened terminals or an empty array.
可见笔记本编辑器:只读笔记本编辑器[]
The currently visible notebook editors or an empty array.
可见文本编辑器:只读文本编辑器[]
The currently visible editors or an empty array.
事件
onDidChangeActiveColorTheme:事件<颜色主题>
An Event which fires when the active color theme is changed or has changes.
onDidChangeActiveNotebookEditor:事件<NotebookEditor | 未定义>
An Event which fires when the active notebook editor
has changed. Note that the event also fires when the active editor changes
to undefined.
onDidChangeActiveTerminal:事件<终端 | 未定义>
An Event which fires when the active terminal
has changed. Note that the event also fires when the active terminal changes
to undefined.
onDidChangeActiveTextEditor:事件<文本编辑器 | 未定义>
An Event which fires when the active editor
has changed. Note that the event also fires when the active editor changes
to undefined.
onDidChangeNotebookEditorSelection:事件<NotebookEditorSelectionChangeEvent>
An Event which fires when the notebook editor selections have changed.
onDidChangeNotebookEditorVisibleRanges:事件<NotebookEditorVisibleRangesChangeEvent>
An Event which fires when the notebook editor visible ranges have changed.
onDidChangeTerminalShellIntegration:事件<TerminalShellIntegrationChangeEvent>
Fires when shell integration activates or one of its properties changes in a terminal.
onDidChangeTerminalState:事件<终端>
An Event which fires when a terminal's state has changed.
onDidChangeTextEditorOptions:事件<TextEditorOptionsChangeEvent>
An Event which fires when the options of an editor have changed.
onDidChangeTextEditorSelection:事件<TextEditorSelectionChangeEvent>
An Event which fires when the selection in an editor has changed.
onDidChangeTextEditorViewColumn:事件<TextEditorViewColumnChangeEvent>
An Event which fires when the view column of an editor has changed.
onDidChangeTextEditorVisibleRanges:事件<TextEditorVisibleRangesChangeEvent>
An Event which fires when the visible ranges of an editor has changed.
onDidChangeVisibleNotebook Editors:事件<只读 NotebookEditor[]>
An Event which fires when the visible notebook editors has changed.
onDidChangeVisibleText Editors:事件<只读 文本编辑器[]>
An Event which fires when the array of visible editors has changed.
onDidChangeWindowState:事件<Windows状态>
An Event which fires when the focus or activity state of the current window changes. The value of the event represents whether the window is focused.
An Event which fires when a terminal is disposed.
onDidEndTerminalShellExecution:事件<TerminalShellExecutionEndEvent>
This will be fired when a terminal command is ended. This event will fire only when shell integration is activated for the terminal.
An Event which fires when a terminal has been created, either through the createTerminal API or commands.
onDidStartTerminalShellExecution:事件<TerminalShellExecutionStartEvent>
This will be fired when a terminal command is started. This event will fire only when shell integration is activated for the terminal.
函数
创建输入框():输入框
Creates a InputBox to let the user enter some text input.
Note that in many cases the more convenient window.showInputBox is easier to use. window.createInputBox should be used when window.showInputBox does not offer the required flexibility.
创建输出通道(名称: 字符串, 语言ID?: 字符串): 输出通道
Creates a new output channel with the given name and language id If language id is not provided, then Log is used as default language id.
You can access the visible or active output channel as a text document from visible editors or active editor and use the language id to contribute language features like syntax coloring, code lens etc.,
| Parameter | Description |
|---|---|
| name: string | Human-readable string which will be used to represent the channel in the UI. |
| languageId?: string | The identifier of the language associated with the channel. |
| Returns | Description |
| OutputChannel | A new output channel. |
创建输出通道(名称: 字符串, 选项: {日志: 真}): 日志输出通道
Creates a new log output channel with the given name.
| Parameter | Description |
|---|---|
| name: string | Human-readable string which will be used to represent the channel in the UI. |
| options: {log: true} | Options for the log output channel. |
| Returns | Description |
| LogOutputChannel | A new log output channel. |
创建快速选择<T extends 快速选择项>(): 快速选择<T>
Creates a QuickPick to let the user pick an item from a list of items of type T.
Note that in many cases the more convenient window.showQuickPick is easier to use. window.createQuickPick should be used when window.showQuickPick does not offer the required flexibility.
创建状态栏项目(id: 字符串, 对齐方式?: 状态栏对齐方式, 优先级?: 数字): 状态栏项目
Creates a status bar item.
| Parameter | Description |
|---|---|
| id: string | The identifier of the item. Must be unique within the extension. |
| alignment?: StatusBarAlignment | The alignment of the item. |
| priority?: number | The priority of the item. Higher values mean the item should be shown more to the left. |
| Returns | Description |
| StatusBarItem | A new status bar item. |
创建状态栏项(对齐方式?: 状态栏对齐方式, 优先级?: 数字): 状态栏项
Creates a status bar item.
See also createStatusBarItem for creating a status bar item with an identifier.
| Parameter | Description |
|---|---|
| alignment?: StatusBarAlignment | The alignment of the item. |
| priority?: number | The priority of the item. Higher values mean the item should be shown more to the left. |
| Returns | Description |
| StatusBarItem | A new status bar item. |
创建终端(名称?: 字符串, shell路径?: 字符串, shell参数?: 字符串 | 只读 字符串[]): 终端
Creates a Terminal with a backing shell process. The cwd of the terminal will be the workspace directory if it exists.
- throws - When running in an environment where a new process cannot be started.
| Parameter | Description |
|---|---|
| name?: string | Optional human-readable string which will be used to represent the terminal in the UI. |
| shellPath?: string | Optional path to a custom shell executable to be used in the terminal. |
| shellArgs?: string | readonly string[] | Optional args for the custom shell executable. A string can be used on Windows only which allows specifying shell args in command-line format. |
| Returns | Description |
| Terminal | A new Terminal. |
Creates a Terminal with a backing shell process.
- throws - When running in an environment where a new process cannot be started.
| Parameter | Description |
|---|---|
| options: TerminalOptions | A TerminalOptions object describing the characteristics of the new terminal. |
| Returns | Description |
| Terminal | A new Terminal. |
createTerminal(选项: 扩展终端选项): 终端
Creates a Terminal where an extension controls its input and output.
| Parameter | Description |
|---|---|
| options: ExtensionTerminalOptions | An ExtensionTerminalOptions object describing the characteristics of the new terminal. |
| Returns | Description |
| Terminal | A new Terminal. |
createTextEditorDecorationType(选项: DecorationRenderOptions): TextEditorDecorationType
Create a TextEditorDecorationType that can be used to add decorations to text editors.
| Parameter | Description |
|---|---|
| options: DecorationRenderOptions | Rendering options for the decoration type. |
| Returns | Description |
| TextEditorDecorationType | A new decoration type instance. |
创建树视图<T>(视图ID: 字符串, 选项: 树视图选项<T>): 树视图<T>
Create a TreeView for the view contributed using the extension point views.
| Parameter | Description |
|---|---|
| viewId: string | Id of the view contributed using the extension point |
| options: TreeViewOptions<T> | Options for creating the TreeView |
| Returns | Description |
| TreeView<T> | a TreeView. |
createWebviewPanel(视图类型: 字符串, 标题: 字符串, 显示选项: 视图列 | {保持焦点: 布尔值, 视图列: 视图列}, 选项?: WebviewPanel选项 & Webview选项): WebviewPanel
Create and show a new webview panel.
| Parameter | Description |
|---|---|
| viewType: string | Identifies the type of the webview panel. |
| title: string | Title of the panel. |
| showOptions: ViewColumn | {preserveFocus: boolean, viewColumn: ViewColumn} | Where to show the webview in the editor. If preserveFocus is set, the new webview will not take focus. |
| options?: WebviewPanelOptions & WebviewOptions | Settings for the new panel. |
| Returns | Description |
| WebviewPanel | New webview panel. |
注册自定义编辑器提供程序(视图类型: 字符串, 提供程序: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument>, 选项?: {支持每个文档多个编辑器: 布尔值, webview选项: WebviewPanelOptions}): Disposable
Register a provider for custom editors for the viewType contributed by the customEditors extension point.
When a custom editor is opened, an onCustomEditor:viewType activation event is fired. Your extension
must register a CustomTextEditorProvider, CustomReadonlyEditorProvider,
CustomEditorProviderfor viewType as part of activation.
| Parameter | Description |
|---|---|
| viewType: string | Unique identifier for the custom editor provider. This should match the |
| provider: CustomTextEditorProvider | CustomReadonlyEditorProvider<CustomDocument> | CustomEditorProvider<CustomDocument> | Provider that resolves custom editors. |
| options?: {supportsMultipleEditorsPerDocument: boolean, webviewOptions: WebviewPanelOptions} | Options for the provider. |
| Returns | Description |
| Disposable | Disposable that unregisters the provider. |
Register a file decoration provider.
| Parameter | Description |
|---|---|
| provider: FileDecorationProvider | |
| Returns | Description |
| Disposable | A Disposable that unregisters the provider. |
注册终端链接提供程序(提供程序: 终端链接提供程序<终端链接>): 可 dispose
Register provider that enables the detection and handling of links within the terminal.
| Parameter | Description |
|---|---|
| provider: TerminalLinkProvider<TerminalLink> | The provider that provides the terminal links. |
| Returns | Description |
| Disposable | Disposable that unregisters the provider. |
注册终端配置文件提供程序(id: 字符串, 提供程序: 终端配置文件提供程序): 一次性
Registers a provider for a contributed terminal profile.
| Parameter | Description |
|---|---|
| id: string | The ID of the contributed terminal profile. |
| provider: TerminalProfileProvider | The terminal profile provider. |
| Returns | Description |
| Disposable | A disposable that unregisters the provider. |
注册树数据提供者<T>(视图ID: 字符串, 树数据提供者: 树数据提供者<T>): 可 disposable
Register a TreeDataProvider for the view contributed using the extension point views.
This will allow you to contribute data to the TreeView and update if the data changes.
Note: To get access to the TreeView and perform operations on it, use createTreeView.
| Parameter | Description |
|---|---|
| viewId: string | Id of the view contributed using the extension point |
| treeDataProvider: TreeDataProvider<T> | A TreeDataProvider that provides tree data for the view |
| Returns | Description |
| Disposable | A disposable that unregisters the TreeDataProvider. |
注册Uri处理器(处理器: Uri处理器): 可 disposable
Registers a uri handler capable of handling system-wide uris. In case there are multiple windows open, the topmost window will handle the uri. A uri handler is scoped to the extension it is contributed from; it will only be able to handle uris which are directed to the extension itself. A uri must respect the following rules:
- The uri-scheme must be
vscode.env.uriScheme; - The uri-authority must be the extension id (e.g.
my.extension); - The uri-path, -query and -fragment parts are arbitrary.
For example, if the my.extension extension registers a uri handler, it will only
be allowed to handle uris with the prefix product-name://my.extension.
An extension can only register a single uri handler in its entire activation lifetime.
- Note: There is an activation event
onUrithat fires when a uri directed for the current extension is about to be handled.
| Parameter | Description |
|---|---|
| handler: UriHandler | The uri handler to register for this extension. |
| Returns | Description |
| Disposable | A disposable that unregisters the handler. |
注册网页视图面板序列化器(视图类型: 字符串, 序列化器: 网页视图面板序列化器<未知>): 一次性对象
Registers a webview panel serializer.
Extensions that support reviving should have an "onWebviewPanel:viewType" activation event and
make sure that registerWebviewPanelSerializer is called during activation.
Only a single serializer may be registered at a time for a given viewType.
| Parameter | Description |
|---|---|
| viewType: string | Type of the webview panel that can be serialized. |
| serializer: WebviewPanelSerializer<unknown> | Webview serializer. |
| Returns | Description |
| Disposable | A disposable that unregisters the serializer. |
注册网页视图视图提供程序(视图ID: 字符串, 提供程序: 网页视图视图提供程序, 选项?: {网页视图选项: {在隐藏时保留上下文: 布尔值}}): 可 disposable
Register a new provider for webview views.
| Parameter | Description |
|---|---|
| viewId: string | Unique id of the view. This should match the |
| provider: WebviewViewProvider | Provider for the webview views. |
| options?: {webviewOptions: {retainContextWhenHidden: boolean}} | |
| Returns | Description |
| Disposable | Disposable that unregisters the provider. |
设置状态栏消息(文本: 字符串, 隐藏后超时: 数字): 一次性
Set a message to the status bar. This is a short hand for the more powerful status bar items.
| Parameter | Description |
|---|---|
| text: string | The message to show, supports icon substitution as in status bar items. |
| hideAfterTimeout: number | Timeout in milliseconds after which the message will be disposed. |
| Returns | Description |
| Disposable | A disposable which hides the status bar message. |
设置状态栏消息(文本: 字符串, 完成时隐藏: Thenable<任何>): Disposable
Set a message to the status bar. This is a short hand for the more powerful status bar items.
| Parameter | Description |
|---|---|
| text: string | The message to show, supports icon substitution as in status bar items. |
| hideWhenDone: Thenable<any> | Thenable on which completion (resolve or reject) the message will be disposed. |
| Returns | Description |
| Disposable | A disposable which hides the status bar message. |
设置状态栏消息(文本: 字符串): 一次性
Set a message to the status bar. This is a short hand for the more powerful status bar items.
Note that status bar messages stack and that they must be disposed when no longer used.
| Parameter | Description |
|---|---|
| text: string | The message to show, supports icon substitution as in status bar items. |
| Returns | Description |
| Disposable | A disposable which hides the status bar message. |
显示错误信息<T extends 字符串>(消息: 字符串, ...项目: T[]): Thenable<T | 未定义>
Show an error message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示错误信息<T extends 字符串>(消息: 字符串, 选项: 消息选项, ...项目: T[]): 可解析<T | 未定义>
Show an error message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示错误信息<T extends MessageItem>(消息: 字符串, ...项目: T[]): Thenable<T | 未定义>
Show an error message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示错误信息<T extends MessageItem>(消息: 字符串, 选项: 消息选项, ...项目: T[]): 然后可<T | 未定义>
Show an error message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示信息消息<类型 extends string>(消息: string, ...项目: T[]): Thenable<类型 | 未定义
Show an information message to users. Optionally provide an array of items which will be presented as clickable buttons.
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示信息消息<类型T extends 字符串>(消息: 字符串, 选项: 消息选项, ...项目: T[]): 可解析<T | 未定义>
Show an information message to users. Optionally provide an array of items which will be presented as clickable buttons.
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示信息消息<T extends 消息项>(消息: 字符串, ...项目: T[]): 然后可<T | 未定义>
Show an information message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示信息消息<T extends MessageItem>(消息: 字符串, 选项: 消息选项, ...项目: T[]): 然后可<T | 未定义>
Show an information message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
显示输入框(选项?: 输入框选项, 令牌?: 取消令牌): 然后可化<字符串 | 未定义>
Opens an input box to ask the user for input.
The returned value will be undefined if the input box was canceled (e.g., pressing ESC). Otherwise the
returned value will be the string typed by the user or an empty string if the user did not type
anything but dismissed the input box with OK.
| Parameter | Description |
|---|---|
| options?: InputBoxOptions | Configures the behavior of the input box. |
| token?: CancellationToken | A token that can be used to signal cancellation. |
| Returns | Description |
| Thenable<string | undefined> | A thenable that resolves to a string the user provided or to |
显示笔记本文档(文档: 笔记本文档, 选项?: 笔记本文档显示选项): Thenable<笔记本编辑器>
Show the given NotebookDocument in a notebook editor.
| Parameter | Description |
|---|---|
| document: NotebookDocument | A text document to be shown. |
| options?: NotebookDocumentShowOptions | Editor options to configure the behavior of showing the notebook editor. |
| Returns | Description |
| Thenable<NotebookEditor> | A promise that resolves to an notebook editor. |
显示打开对话框(选项?: 打开对话框选项): 然后可<Uri[] | 未定义>
Shows a file open dialog to the user which allows to select a file for opening-purposes.
| Parameter | Description |
|---|---|
| options?: OpenDialogOptions | Options that control the dialog. |
| Returns | Description |
| Thenable<Uri[] | undefined> | A promise that resolves to the selected resources or |
showQuickPick(items: readonly string[] | Thenable<readonly string[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<string[] | undefined>
Shows a selection list allowing multiple selections.
| Parameter | Description |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | An array of strings, or a promise that resolves to an array of strings. |
| options: QuickPickOptions & {canPickMany: true} | Configures the behavior of the selection list. |
| token?: CancellationToken | A token that can be used to signal cancellation. |
| Returns | Description |
| Thenable<string[] | undefined> | A thenable that resolves to the selected items or |
showQuickPick(items: 只读 字符串[] | Thenable<只读 字符串[]>, 选项?: QuickPickOptions, 令牌?: CancellationToken): Thenable<字符串 | 未定义>
Shows a selection list.
| Parameter | Description |
|---|---|
| items: readonly string[] | Thenable<readonly string[]> | An array of strings, or a promise that resolves to an array of strings. |
| options?: QuickPickOptions | Configures the behavior of the selection list. |
| token?: CancellationToken | A token that can be used to signal cancellation. |
| Returns | Description |
| Thenable<string | undefined> | A thenable that resolves to the selected string or |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options: QuickPickOptions & {canPickMany: true}, token?: CancellationToken): Thenable<T[] | undefined>
Shows a selection list allowing multiple selections.
| Parameter | Description |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | An array of items, or a promise that resolves to an array of items. |
| options: QuickPickOptions & {canPickMany: true} | Configures the behavior of the selection list. |
| token?: CancellationToken | A token that can be used to signal cancellation. |
| Returns | Description |
| Thenable<T[] | undefined> | A thenable that resolves to the selected items or |
showQuickPick<T extends QuickPickItem>(items: readonly T[] | Thenable<readonly T[]>, options?: QuickPickOptions, token?: CancellationToken): Thenable<T | undefined>
Shows a selection list.
| Parameter | Description |
|---|---|
| items: readonly T[] | Thenable<readonly T[]> | An array of items, or a promise that resolves to an array of items. |
| options?: QuickPickOptions | Configures the behavior of the selection list. |
| token?: CancellationToken | A token that can be used to signal cancellation. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
showSaveDialog(选项?: SaveDialogOptions): Thenable<Uri | 未定义>
Shows a file save dialog to the user which allows to select a file for saving-purposes.
| Parameter | Description |
|---|---|
| options?: SaveDialogOptions | Options that control the dialog. |
| Returns | Description |
| Thenable<Uri | undefined> | A promise that resolves to the selected resource or |
显示文本文档(文档: 文本文档, 列?: 视图列, 保持焦点?: 布尔值): 可承诺<文本编辑器>
Show the given document in a text editor. A column can be provided to control where the editor is being shown. Might change the active editor.
| Parameter | Description |
|---|---|
| document: TextDocument | A text document to be shown. |
| column?: ViewColumn | A view column in which the editor should be shown. The default is the active. Columns that do not exist will be created as needed up to the maximum of ViewColumn.Nine. Use ViewColumn.Beside to open the editor to the side of the currently active one. |
| preserveFocus?: boolean | When |
| Returns | Description |
| Thenable<TextEditor> | A promise that resolves to an editor. |
显示文本文档(文档: 文本文档, 选项?: 文本文档显示选项): 然后可<文本编辑器>
Show the given document in a text editor. Options can be provided to control options of the editor is being shown. Might change the active editor.
| Parameter | Description |
|---|---|
| document: TextDocument | A text document to be shown. |
| options?: TextDocumentShowOptions | Editor options to configure the behavior of showing the editor. |
| Returns | Description |
| Thenable<TextEditor> | A promise that resolves to an editor. |
显示文本文档(uri: Uri, 选项?: 文本文档显示选项): 然后可<文本编辑器>
A short-hand for openTextDocument(uri).then(document => showTextDocument(document, options)).
See also workspace.openTextDocument
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| options?: TextDocumentShowOptions | Editor options to configure the behavior of showing the editor. |
| Returns | Description |
| Thenable<TextEditor> | A promise that resolves to an editor. |
showWarningMessage<T extends string>(message: string, ...items: T[]): Thenable<T | undefined>
Show a warning message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
showWarningMessage<T extends string>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Show a warning message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
showWarningMessage<T extends MessageItem>(message: string, ...items: T[]): Thenable<T | undefined>
Show a warning message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
showWarningMessage<T extends MessageItem>(message: string, options: MessageOptions, ...items: T[]): Thenable<T | undefined>
Show a warning message.
See also showInformationMessage
| Parameter | Description |
|---|---|
| message: string | The message to show. |
| options: MessageOptions | Configures the behaviour of the message. |
| ...items: T[] | A set of items that will be rendered as actions in the message. |
| Returns | Description |
| Thenable<T | undefined> | A thenable that resolves to the selected item or |
showWorkspaceFolderPick(选项?: WorkspaceFolderPickOptions): Thenable<WorkspaceFolder | 未定义>
Shows a selection list of workspace folders to pick from.
Returns undefined if no folder is open.
| Parameter | Description |
|---|---|
| options?: WorkspaceFolderPickOptions | Configures the behavior of the workspace folder list. |
| Returns | Description |
| Thenable<WorkspaceFolder | undefined> | A promise that resolves to the workspace folder or |
withProgress<R>(options: ProgressOptions, task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R>): Thenable<R>
Show progress in the editor. Progress is shown while running the given callback and while the promise it returned isn't resolved nor rejected. The location at which progress should show (and other details) is defined via the passed ProgressOptions.
| Parameter | Description |
|---|---|
| options: ProgressOptions | A ProgressOptions-object describing the options to use for showing progress, like its location |
| task: (progress: Progress<{increment: number, message: string}>, token: CancellationToken) => Thenable<R> | A callback returning a promise. Progress state can be reported with the provided Progress-object. To report discrete progress, use To monitor if the operation has been cancelled by the user, use the provided CancellationToken.
Note that currently only |
| Returns | Description |
| Thenable<R> | The thenable the task-callback returned. |
withScmProgress<R>(任务: (进度: Progress<数字>) => Thenable<R>): Thenable<R>
Show progress in the Source Control viewlet while running the given callback and while its returned promise isn't resolve or rejected.
- deprecated - Use
withProgressinstead.
工作区
用于处理当前工作区的命名空间。工作区是打开在编辑器Windows(实例)中的一个或多个文件夹的集合。
你也可以在没有工作区的情况下打开编辑器。例如,当你从平台的文件菜单中选择一个文件来打开一个新的编辑器Windows时,你将不会在工作区内部。在这种模式下,编辑器的一些功能会被限制,但你仍然可以打开文本文件并编辑它们。
参考 https://code.visualstudio.com/docs/editor/workspaces 了解有关工作区的概念的更多信息。
工作区提供支持监听fs事件和查找文件。两者性能良好,并且在 编辑器进程之外运行,因此应始终使用它们,而不是nodejs的等价物。
变量
fs:FileSystem
A file system instance that allows to interact with local and remote
files, e.g. vscode.workspace.fs.readDirectory(someUri) allows to retrieve all entries
of a directory or vscode.workspace.fs.stat(anotherUri) returns the meta data for a
file.
When true, the user has explicitly trusted the contents of the workspace.
The name of the workspace. undefined when no workspace
has been opened.
Refer to https://code.visualstudio.com/docs/editor/workspaces for more information on the concept of workspaces.
笔记本文档:只读笔记本文档[]
All notebook documents currently known to the editor.
The uri of the first entry of workspaceFolders
as string. undefined if there is no first entry.
Refer to https://code.visualstudio.com/docs/editor/workspaces for more information on workspaces.
- deprecated - Use workspaceFolders instead.
文本文档:只读 文本文档[]
All text documents currently known to the editor.
工作区文件:Uri | 未定义
The location of the workspace file, for example:
file:///Users/name/Development/myProject.code-workspace
or
untitled:1555503116870
for a workspace that is untitled and not yet saved.
Depending on the workspace that is opened, the value will be:
undefinedwhen no workspace is opened- the path of the workspace file as
Uriotherwise. if the workspace is untitled, the returned URI will use theuntitled:scheme
The location can e.g. be used with the vscode.openFolder command to
open the workspace again after it has been closed.
Example:
vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
Refer to https://code.visualstudio.com/docs/editor/workspaces for more information on the concept of workspaces.
Note: it is not advised to use workspace.workspaceFile to write
configuration data into the file. You can use workspace.getConfiguration().update()
for that purpose which will work both when a single folder is opened as
well as an untitled or saved workspace.
工作区文件夹:只读 工作区文件夹[]) | 未定义
List of workspace folders (0-N) that are open in the editor. undefined when no workspace
has been opened.
Refer to https://code.visualstudio.com/docs/editor/workspaces for more information on workspaces.
事件
onDidChangeConfiguration:事件<ConfigurationChangeEvent>
An event that is emitted when the configuration changed.
onDidChangeNotebookDocument:事件<NotebookDocumentChangeEvent>
An event that is emitted when a notebook has changed.
onDidChangeTextDocument:事件<TextDocumentChangeEvent>
An event that is emitted when a text document is changed. This usually happens when the contents changes but also when other things like the dirty-state changes.
onDidChangeWorkspaceFolders:事件<WorkspaceFoldersChangeEvent>
An event that is emitted when a workspace folder is added or removed.
Note: this event will not fire if the first workspace folder is added, removed or changed,
because in that case the currently executing extensions (including the one that listens to this
event) will be terminated and restarted so that the (deprecated) rootPath property is updated
to point to the first workspace folder.
onDidCloseNotebookDocument:事件<笔记本文档>
An event that is emitted when a notebook is disposed.
Note 1: There is no guarantee that this event fires when an editor tab is closed.
Note 2: A notebook can be open but not shown in an editor which means this event can fire for a notebook that has not been shown in an editor.
onDidCloseTextDocument:事件<文本文档>
An event that is emitted when a text document is disposed or when the language id of a text document has been changed.
Note 1: There is no guarantee that this event fires when an editor tab is closed, use the onDidChangeVisibleTextEditors-event to know when editors change.
Note 2: A document can be open but not shown in an editor which means this event can fire for a document that has not been shown in an editor.
An event that is emitted when files have been created.
Note: This event is triggered by user gestures, like creating a file from the explorer, or from the workspace.applyEdit-api, but this event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
An event that is emitted when files have been deleted.
Note 1: This event is triggered by user gestures, like deleting a file from the explorer, or from the workspace.applyEdit-api, but this event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
Note 2: When deleting a folder with children only one event is fired.
onDidGrantWorkspaceTrust:事件<无返回值>
Event that fires when the current workspace has been trusted.
onDidOpenNotebookDocument:事件<NotebookDocument>
An event that is emitted when a notebook is opened.
onDidOpenTextDocument:事件<文本文档>
An event that is emitted when a text document is opened or when the language id of a text document has been changed.
To add an event listener when a visible text document is opened, use the TextEditor events in the window namespace. Note that:
- The event is emitted before the document is updated in the active text editor
- When a text document is already open (e.g.: open in another visible text editor) this event is not emitted
An event that is emitted when files have been renamed.
Note 1: This event is triggered by user gestures, like renaming a file from the explorer, and from the workspace.applyEdit-api, but this event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
Note 2: When renaming a folder with children only one event is fired.
onDidSaveNotebookDocument:事件<笔记本文档>
An event that is emitted when a notebook is saved.
onDidSaveTextDocument:事件<文本文档>
An event that is emitted when a text document is saved to disk.
An event that is emitted when files are being created.
Note 1: This event is triggered by user gestures, like creating a file from the explorer, or from the workspace.applyEdit-api. This event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
Note 2: When this event is fired, edits to files that are are being created cannot be applied.
onWillDeleteFiles:事件<文件将被删除事件>
An event that is emitted when files are being deleted.
Note 1: This event is triggered by user gestures, like deleting a file from the explorer, or from the workspace.applyEdit-api, but this event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
Note 2: When deleting a folder with children only one event is fired.
onWillRenameFiles:事件<FileWillRenameEvent>
An event that is emitted when files are being renamed.
Note 1: This event is triggered by user gestures, like renaming a file from the explorer, and from the workspace.applyEdit-api, but this event is not fired when files change on disk, e.g triggered by another application, or when using the workspace.fs-api.
Note 2: When renaming a folder with children only one event is fired.
onWillSaveNotebookDocument:事件<NotebookDocumentWillSaveEvent>
An event that is emitted when a notebook document will be saved to disk.
Note 1: Subscribers can delay saving by registering asynchronous work. For the sake of data integrity the editor might save without firing this event. For instance when shutting down with dirty files.
Note 2: Subscribers are called sequentially and they can delay saving by registering asynchronous work. Protection against misbehaving listeners is implemented as such:
- there is an overall time budget that all listeners share and if that is exhausted no further listener is called
- listeners that take a long time or produce errors frequently will not be called anymore
The current thresholds are 1.5 seconds as overall time budget and a listener can misbehave 3 times before being ignored.
onWillSaveTextDocument:事件<TextDocumentWillSaveEvent>
An event that is emitted when a text document will be saved to disk.
Note 1: Subscribers can delay saving by registering asynchronous work. For the sake of data integrity the editor might save without firing this event. For instance when shutting down with dirty files.
Note 2: Subscribers are called sequentially and they can delay saving by registering asynchronous work. Protection against misbehaving listeners is implemented as such:
- there is an overall time budget that all listeners share and if that is exhausted no further listener is called
- listeners that take a long time or produce errors frequently will not be called anymore
The current thresholds are 1.5 seconds as overall time budget and a listener can misbehave 3 times before being ignored.
函数
应用编辑(编辑: 工作区编辑, 元数据?: 工作区编辑元数据): 可延迟<布尔值>
Make changes to one or many resources or create, delete, and rename resources as defined by the given workspace edit.
All changes of a workspace edit are applied in the same order in which they have been added. If multiple textual inserts are made at the same position, these strings appear in the resulting text in the order the 'inserts' were made, unless that are interleaved with resource edits. Invalid sequences like 'delete file a' -> 'insert text in file a' cause failure of the operation.
When applying a workspace edit that consists only of text edits an 'all-or-nothing'-strategy is used. A workspace edit with resource creations or deletions aborts the operation, e.g. consecutive edits will not be attempted, when a single edit fails.
| Parameter | Description |
|---|---|
| edit: WorkspaceEdit | A workspace edit. |
| metadata?: WorkspaceEditMetadata | Optional metadata for the edit. |
| Returns | Description |
| Thenable<boolean> | A thenable that resolves when the edit could be applied. |
asRelativePath(路径或Uri: 字符串 | Uri, 是否包含工作区文件夹?: 布尔值): 字符串
Returns a path that is relative to the workspace folder or folders.
When there are no workspace folders or when the path is not contained in them, the input is returned.
| Parameter | Description |
|---|---|
| pathOrUri: string | Uri | A path or uri. When a uri is given its fsPath is used. |
| includeWorkspaceFolder?: boolean | When |
| Returns | Description |
| string | A path relative to the root or the input. |
创建文件系统监视器(模式: GlobPattern, 忽略创建事件?: 布尔值, 忽略更改事件?: 布尔值, 忽略删除事件?: 布尔值): FileSystemWatcher
Creates a file system watcher that is notified on file events (create, change, delete) depending on the parameters provided.
By default, all opened workspace folders will be watched for file changes recursively.
Additional paths can be added for file watching by providing a RelativePattern with
a base path to watch. If the path is a folder and the pattern is complex (e.g. contains
** or path segments), it will be watched recursively and otherwise will be watched
non-recursively (i.e. only changes to the first level of the path will be reported).
Note that paths that do not exist in the file system will be monitored with a delay until created and then watched depending on the parameters provided. If a watched path is deleted, the watcher will suspend and not report any events until the path is created again.
If possible, keep the use of recursive watchers to a minimum because recursive file watching is quite resource intense.
Providing a string as globPattern acts as convenience method for watching file events in
all opened workspace folders. It cannot be used to add more folders for file watching, nor will
it report any file events from folders that are not part of the opened workspace folders.
Note that case-sensitivity of the globPattern parameter will depend on the file system where the watcher is running: on Windows and macOS the matching will be case-insensitive and on Linux it will be case-sensitive.
Optionally, flags to ignore certain kinds of events can be provided.
To stop listening to events the watcher must be disposed.
Note that file events from deleting a folder may not include events for the contained files.
For example, when a folder is moved to the trash, only one event is reported because technically
this is a rename/move operation and not a delete operation for each files within.
On top of that, performance optimizations are in place to fold multiple events that all belong
to the same parent operation (e.g. delete folder) into one event for that parent. As such, if
you need to know about all deleted files, you have to watch with ** and deal with all file
events yourself.
Note that file events from recursive file watchers may be excluded based on user configuration.
The setting files.watcherExclude helps to reduce the overhead of file events from folders
that are known to produce many file changes at once (such as .git folders). As such,
it is highly recommended to watch with simple patterns that do not require recursive watchers
where the exclude settings are ignored and you have full control over the events.
Note that symbolic links are not automatically followed for file watching unless the path to watch itself is a symbolic link.
Note that the file paths that are reported for having changed may have a different path casing compared to the actual casing on disk on case-insensitive platforms (typically macOS and Windows but not Linux). We allow a user to open a workspace folder with any desired path casing and try to preserve that. This means:
- if the path is within any of the workspace folders, the path will match the casing of the workspace folder up to that portion of the path and match the casing on disk for children
- if the path is outside of any of the workspace folders, the casing will match the case of the path that was provided for watching In the same way, symbolic links are preserved, i.e. the file event will report the path of the symbolic link as it was provided for watching and not the target.
Examples
The basic anatomy of a file watcher is as follows:
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(<folder>, <pattern>));
watcher.onDidChange(uri => { ... }); // listen to files being changed
watcher.onDidCreate(uri => { ... }); // listen to files/folders being created
watcher.onDidDelete(uri => { ... }); // listen to files/folders getting deleted
watcher.dispose(); // dispose after usage
Workspace file watching
If you only care about file events in a specific workspace folder:
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.workspace.workspaceFolders[0], '**/*.js')
);
If you want to monitor file events across all opened workspace folders:
vscode.workspace.createFileSystemWatcher('**/*.js');
Note: the array of workspace folders can be empty if no workspace is opened (empty window).
Out of workspace file watching
To watch a folder for changes to *.js files outside the workspace (non recursively), pass in a Uri to such
a folder:
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '*.js'));
And use a complex glob pattern to watch recursively:
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(vscode.Uri.file(<path to folder outside workspace>), '**/*.js'));
Here is an example for watching the active editor for file changes:
vscode.workspace.createFileSystemWatcher(
new vscode.RelativePattern(vscode.window.activeTextEditor.document.uri, '*')
);
| Parameter | Description |
|---|---|
| globPattern: GlobPattern | A glob pattern that controls which file events the watcher should report. |
| ignoreCreateEvents?: boolean | Ignore when files have been created. |
| ignoreChangeEvents?: boolean | Ignore when files have been changed. |
| ignoreDeleteEvents?: boolean | Ignore when files have been deleted. |
| Returns | Description |
| FileSystemWatcher | A new file system watcher instance. Must be disposed when no longer needed. |
解码(内容: Uint8Array): Thenable<字符串>
Decodes the content from a Uint8Array to a string. You MUST
provide the entire content at once to ensure that the encoding
can properly apply. Do not use this method to decode content
in chunks, as that may lead to incorrect results.
Will pick an encoding based on settings and the content of the buffer (for example byte order marks).
Note that if you decode content that is unsupported by the encoding, the result may contain substitution characters as appropriate.
- throws - This method will throw an error when the content is binary.
| Parameter | Description |
|---|---|
| content: Uint8Array | The text content to decode as a |
| Returns | Description |
| Thenable<string> | A thenable that resolves to the decoded |
解码(内容: Uint8Array, 选项: {编码: 字符串}): Thenable<字符串>
Decodes the content from a Uint8Array to a string using the
provided encoding. You MUST provide the entire content at once
to ensure that the encoding can properly apply. Do not use this
method to decode content in chunks, as that may lead to incorrect
results.
Note that if you decode content that is unsupported by the encoding, the result may contain substitution characters as appropriate.
- throws - This method will throw an error when the content is binary.
| Parameter | Description |
|---|---|
| content: Uint8Array | The text content to decode as a |
| options: {encoding: string} | Additional context for picking the encoding. |
| Returns | Description |
| Thenable<string> | A thenable that resolves to the decoded |
解码(内容: Uint8Array, 选项: {uri: Uri}): Thenable<字符串>
Decodes the content from a Uint8Array to a string. You MUST
provide the entire content at once to ensure that the encoding
can properly apply. Do not use this method to decode content
in chunks, as that may lead to incorrect results.
The encoding is picked based on settings and the content of the buffer (for example byte order marks).
Note that if you decode content that is unsupported by the encoding, the result may contain substitution characters as appropriate.
- throws - This method will throw an error when the content is binary.
| Parameter | Description |
|---|---|
| content: Uint8Array | The content to decode as a |
| options: {uri: Uri} | Additional context for picking the encoding. |
| Returns | Description |
| Thenable<string> | A thenable that resolves to the decoded |
编码(内容: 字符串): Thenable<Uint8Array>
Encodes the content of a string to a Uint8Array.
Will pick an encoding based on settings.
| Parameter | Description |
|---|---|
| content: string | The content to decode as a |
| Returns | Description |
| Thenable<Uint8Array> | A thenable that resolves to the encoded |
编码(内容: 字符串, 选项: {编码: 字符串}): Thenable<Uint8Array>
Encodes the content of a string to a Uint8Array using the
provided encoding.
| Parameter | Description |
|---|---|
| content: string | The content to decode as a |
| options: {encoding: string} | Additional context for picking the encoding. |
| Returns | Description |
| Thenable<Uint8Array> | A thenable that resolves to the encoded |
编码(内容: 字符串, 选项: {uri: Uri}): Thenable<Uint8Array>
Encodes the content of a string to a Uint8Array.
The encoding is picked based on settings.
| Parameter | Description |
|---|---|
| content: string | The content to decode as a |
| options: {uri: Uri} | Additional context for picking the encoding. |
| Returns | Description |
| Thenable<Uint8Array> | A thenable that resolves to the encoded |
查找文件(包含: 通配符模式, 排除?: 通配符模式, 最大结果?: 数字, 令牌?: 取消令牌): 然后可<统一资源标识符[]>
Find files across all workspace folders in the workspace.
Example
findFiles('**/*.js', '**/node_modules/**', 10);
| Parameter | Description |
|---|---|
| include: GlobPattern | A glob pattern that defines the files to search for. The glob pattern will be matched against the file paths of resulting matches relative to their workspace. Use a relative pattern to restrict the search results to a workspace folder. |
| exclude?: GlobPattern | A glob pattern that defines files and folders to exclude. The glob pattern
will be matched against the file paths of resulting matches relative to their workspace. When |
| maxResults?: number | An upper-bound for the result. |
| token?: CancellationToken | A token that can be used to signal cancellation to the underlying search engine. |
| Returns | Description |
| Thenable<Uri[]> | A thenable that resolves to an array of resource identifiers. Will return no results if no workspace folders are opened. |
获取配置(部分?: 字符串, 范围?: 配置范围): 工作区配置
Get a workspace configuration object.
When a section-identifier is provided only that part of the configuration
is returned. Dots in the section-identifier are interpreted as child-access,
like { myExt: { setting: { doIt: true }}} and getConfiguration('myExt.setting').get('doIt') === true.
When a scope is provided configuration confined to that scope is returned. Scope can be a resource or a language identifier or both.
| Parameter | Description |
|---|---|
| section?: string | A dot-separated identifier. |
| scope?: ConfigurationScope | A scope for which the configuration is asked for. |
| Returns | Description |
| WorkspaceConfiguration | The full configuration or a subset. |
获取工作区文件夹(uri: Uri): 工作区文件夹 | 未定义
Returns the workspace folder that contains a given uri.
- returns
undefinedwhen the given uri doesn't match any workspace folder - returns the input when the given uri is a workspace folder itself
| Parameter | Description |
|---|---|
| uri: Uri | An uri. |
| Returns | Description |
| WorkspaceFolder | undefined | A workspace folder or |
打开笔记本文档(uri: Uri): Thenable< NotebookDocument >
Open a notebook. Will return early if this notebook is already loaded. Otherwise the notebook is loaded and the onDidOpenNotebookDocument-event fires.
Note that the lifecycle of the returned notebook is owned by the editor and not by the extension. That means an onDidCloseNotebookDocument-event can occur at any time after.
Note that opening a notebook does not show a notebook editor. This function only returns a notebook document which can be shown in a notebook editor but it can also be used for other things.
| Parameter | Description |
|---|---|
| uri: Uri | The resource to open. |
| Returns | Description |
| Thenable<NotebookDocument> | A promise that resolves to a notebook |
打开笔记本文档(笔记本类型: 字符串, 内容?: 笔记本数据): 可承诺<笔记本文档>
Open an untitled notebook. The editor will prompt the user for a file path when the document is to be saved.
See also workspace.openNotebookDocument
| Parameter | Description |
|---|---|
| notebookType: string | The notebook type that should be used. |
| content?: NotebookData | The initial contents of the notebook. |
| Returns | Description |
| Thenable<NotebookDocument> | A promise that resolves to a notebook. |
打开文本文档(uri: Uri, 选项?: {编码: 字符串}): Thenable<文本文档>
Opens a document. Will return early if this document is already open. Otherwise the document is loaded and the didOpen-event fires.
The document is denoted by an Uri. Depending on the scheme the following rules apply:
file-scheme: Open a file on disk (openTextDocument(Uri.file(path))). Will be rejected if the file does not exist or cannot be loaded.untitled-scheme: Open a blank untitled file with associated path (openTextDocument(Uri.file(path).with({ scheme: 'untitled' }))). The language will be derived from the file name.- For all other schemes contributed text document content providers and file system providers are consulted.
Note that the lifecycle of the returned document is owned by the editor and not by the extension. That means an onDidClose-event can occur at any time after opening it.
| Parameter | Description |
|---|---|
| uri: Uri | Identifies the resource to open. |
| options?: {encoding: string} | |
| Returns | Description |
| Thenable<TextDocument> | A promise that resolves to a document. |
打开文本文档(路径: 字符串, 选项?: {编码: 字符串}): Thenable<文本文档>
A short-hand for openTextDocument(Uri.file(path)).
See also workspace.openTextDocument
| Parameter | Description |
|---|---|
| path: string | A path of a file on disk. |
| options?: {encoding: string} | |
| Returns | Description |
| Thenable<TextDocument> | A promise that resolves to a document. |
打开文本文档(选项?: {内容: 字符串, 编码: 字符串, 语言: 字符串}): Thenable<文本文档>
Opens an untitled text document. The editor will prompt the user for a file
path when the document is to be saved. The options parameter allows to
specify the language and/or the content of the document.
| Parameter | Description |
|---|---|
| options?: {content: string, encoding: string, language: string} | Options to control how the document will be created. |
| Returns | Description |
| Thenable<TextDocument> | A promise that resolves to a document. |
注册文件系统提供程序(方案: 字符串, 提供程序: FileSystemProvider, 选项?: {是否区分大小写: 布尔值, 是只读: 布尔值 | Markdown字符串}): 可 disposable
Register a filesystem provider for a given scheme, e.g. ftp.
There can only be one provider per scheme and an error is being thrown when a scheme has been claimed by another provider or when it is reserved.
| Parameter | Description |
|---|---|
| scheme: string | The uri-scheme the provider registers for. |
| provider: FileSystemProvider | The filesystem provider. |
| options?: {isCaseSensitive: boolean, isReadonly: boolean | MarkdownString} | Immutable metadata about the provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册Notebook序列化器(Notebook类型: 字符串, 序列化器: Notebook序列化器, 选项?: Notebook文档内容选项): disposable
Register a notebook serializer.
A notebook serializer must be contributed through the notebooks extension point. When opening a notebook file, the editor will send
the onNotebook:<notebookType> activation event, and extensions must register their serializer in return.
| Parameter | Description |
|---|---|
| notebookType: string | A notebook. |
| serializer: NotebookSerializer | A notebook serializer. |
| options?: NotebookDocumentContentOptions | Optional context options that define what parts of a notebook should be persisted |
| Returns | Description |
| Disposable | A Disposable that unregisters this serializer when being disposed. |
注册任务提供者(类型: 字符串, 提供者: 任务提供者<任务>): 可 dispose
Register a task provider.
- deprecated - Use the corresponding function on the
tasksnamespace instead
| Parameter | Description |
|---|---|
| type: string | The task kind type this provider is registered for. |
| provider: TaskProvider<Task> | A task provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
注册文本文档内容提供者(方案: 字符串, 提供者: 文本文档内容提供者): 可丢弃
Register a text document content provider.
Only one provider can be registered per scheme.
| Parameter | Description |
|---|---|
| scheme: string | The uri-scheme to register for. |
| provider: TextDocumentContentProvider | A content provider. |
| Returns | Description |
| Disposable | A Disposable that unregisters this provider when being disposed. |
保存(uri: Uri): Thenable<Uri | 未定义>
Saves the editor identified by the given resource and returns the resulting resource or undefined
if save was not successful or no editor with the given resource was found.
Note that an editor with the provided resource must be opened in order to be saved.
Save all dirty files.
| Parameter | Description |
|---|---|
| includeUntitled?: boolean | Also save files that have been created during this session. |
| Returns | Description |
| Thenable<boolean> | A thenable that resolves when the files have been saved. Will return |
saveAs(uri: Uri): Thenable<Uri | undefined>
Saves the editor identified by the given resource to a new file name as provided by the user and
returns the resulting resource or undefined if save was not successful or cancelled or no editor
with the given resource was found.
Note that an editor with the provided resource must be opened in order to be saved as.
更新工作区文件夹(开始: 数字, 删除计数: 数字, ...要添加的工作区文件夹: 数组<{名称: 字符串, 路径: Uri}>): 布尔值
This method replaces deleteCount workspace folders starting at index start
by an optional set of workspaceFoldersToAdd on the vscode.workspace.workspaceFolders array. This "splice"
behavior can be used to add, remove and change workspace folders in a single operation.
Note: in some cases calling this method may result in the currently executing extensions (including the
one that called this method) to be terminated and restarted. For example when the first workspace folder is
added, removed or changed the (deprecated) rootPath property is updated to point to the first workspace
folder. Another case is when transitioning from an empty or single-folder workspace into a multi-folder
workspace (see also: https://code.visualstudio.com/docs/editor/workspaces).
Use the onDidChangeWorkspaceFolders() event to get notified when the workspace folders have been updated.
Example: adding a new workspace folder at the end of workspace folders
workspace.updateWorkspaceFolders(workspace.workspaceFolders ? workspace.workspaceFolders.length : 0, null, { uri: ...});
Example: removing the first workspace folder
workspace.updateWorkspaceFolders(0, 1);
Example: replacing an existing workspace folder with a new one
workspace.updateWorkspaceFolders(0, 1, { uri: ...});
It is valid to remove an existing workspace folder and add it again with a different name to rename that folder.
Note: it is not valid to call updateWorkspaceFolders() multiple times without waiting for the onDidChangeWorkspaceFolders() to fire.
| Parameter | Description |
|---|---|
| start: number | the zero-based location in the list of currently opened workspace folders from which to start deleting workspace folders. |
| deleteCount: number | the optional number of workspace folders to remove. |
| ...workspaceFoldersToAdd: Array<{name: string, uri: Uri}> | the optional variable set of workspace folders to add in place of the deleted ones. Each workspace is identified with a mandatory URI and an optional name. |
| Returns | Description |
| boolean | true if the operation was successfully started and false otherwise if arguments were used that would result in invalid workspace folder state (e.g. 2 folders with the same URI). |
无障碍信息
无障碍信息,控制屏幕阅读器的行为。
属性
Label to be read out by a screen reader once the item has focus.
Role of the widget which defines how a screen reader interacts with it. The role should be set in special cases when for example a tree-like element behaves like a checkbox. If role is not specified the editor will pick the appropriate role automatically. More about aria roles can be found here https://w3c.github.io/aria/#widget_roles
认证强制新会话选项
调用时可使用的可选选项authentication.getSession与标志forceNewSession.
- 已弃用 - 请使用 AuthenticationGetSessionPresentationOptions 代替。
强制创建新会话选项:获取会话呈现选项
身份验证获取会话选项
属性
账户?:认证会话账户信息
The account that you would like to get a session for. This is passed down to the Authentication Provider to be used for creating the correct session.
Whether the existing session preference should be cleared.
For authentication providers that support being signed into multiple accounts at once, the user will be prompted to select an account to use when getSession is called. This preference is remembered until getSession is called with this flag.
Note: The preference is extension specific. So if one extension calls getSession, it will not affect the session preference for another extension calling getSession. Additionally, the preference is set for the current workspace and also globally. This means that new workspaces will use the "global" value at first and then when this flag is provided, a new value can be set for that workspace. This also means that pre-existing workspaces will not lose their preference if a new workspace sets this flag.
Defaults to false.
createIfNone?:布尔值 | 获取会话呈现选项的认证
Whether login should be performed if there is no matching session.
If true, a modal dialog will be shown asking the user to sign in. If false, a numbered badge will be shown on the accounts activity bar icon. An entry for the extension will be added under the menu to sign in. This allows quietly prompting the user to sign in.
If you provide options, you will also see the dialog but with the additional context provided.
If there is a matching session but the extension has not been granted access to it, setting this to true will also result in an immediate modal dialog, and false will add a numbered badge to the accounts icon.
Defaults to false.
Note: you cannot use this option with silent.
forceNewSession?:布尔值 | AuthenticationGetSessionPresentationOptions
Whether we should attempt to reauthenticate even if there is already a session available.
If true, a modal dialog will be shown asking the user to sign in again. This is mostly used for scenarios where the token needs to be re minted because it has lost some authorization.
If you provide options, you will also see the dialog but with the additional context provided.
If there are no existing sessions and forceNewSession is true, it will behave identically to createIfNone.
This defaults to false.
Whether we should show the indication to sign in in the Accounts menu.
If false, the user will be shown a badge on the Accounts menu with an option to sign in for the extension. If true, no indication will be shown.
Defaults to false.
Note: you cannot use this option with any other options that prompt the user like createIfNone.
认证获取会话呈现选项
调用时可使用的可选选项authentication.getSession与交互式选项forceNewSession&createIfNone。
属性
An optional message that will be displayed to the user when we ask to re-authenticate. Providing additional context as to why you are asking a user to re-authenticate can help increase the odds that they will accept.
认证提供者
用于对服务进行身份验证的提供者。
事件
onDidChangeSessions:事件< AuthenticationProvider AuthenticationSessions 变更事件>
An Event which fires when the array of sessions has changed, or data within a session has changed.
方法
createSession(scopes: 只读 字符串[], 选项: AuthenticationProviderSessionOptions): Thenable< AuthenticationSession >
Prompts a user to login.
If login is successful, the onDidChangeSessions event should be fired.
If login fails, a rejected promise should be returned.
If the provider has specified that it does not support multiple accounts, then this should never be called if there is already an existing session matching these scopes.
| Parameter | Description |
|---|---|
| scopes: readonly string[] | A list of scopes, permissions, that the new session should be created with. |
| options: AuthenticationProviderSessionOptions | Additional options for creating a session. |
| Returns | Description |
| Thenable<AuthenticationSession> | A promise that resolves to an authentication session. |
getSessions(scopes: 只读 字符串[], 选项: 身份验证提供程序会话选项): Thenable<身份验证会话[]>
Get a list of sessions.
| Parameter | Description |
|---|---|
| scopes: readonly string[] | An optional list of scopes. If provided, the sessions returned should match these permissions, otherwise all sessions should be returned. |
| options: AuthenticationProviderSessionOptions | Additional options for getting sessions. |
| Returns | Description |
| Thenable<AuthenticationSession[]> | A promise that resolves to an array of authentication sessions. |
Removes the session corresponding to session id.
If the removal is successful, the onDidChangeSessions event should be fired.
If a session cannot be removed, the provider should reject with an error message.
| Parameter | Description |
|---|---|
| sessionId: string | The id of the session to remove. |
| Returns | Description |
| Thenable<void> |
认证提供者认证会话更改事件
属性
添加:只读AuthenticationSession[]
The AuthenticationSessions of the AuthenticationProvider that have been added.
更改:只读AuthenticationSession[]
The AuthenticationSessions of the AuthenticationProvider that have been changed. A session changes when its data excluding the id are updated. An example of this is a session refresh that results in a new access token being set for the session.
移除:只读AuthenticationSession[]
The AuthenticationSessions of the AuthenticationProvider that have been removed.
认证提供商信息
关于一个认证提供者的基本信息
属性
The unique identifier of the authentication provider.
The human-readable name of the authentication provider.
认证提供程序选项
创建认证提供者的选项。
属性
Whether it is possible to be signed into multiple accounts at once with this provider. If not specified, will default to false.
认证提供者会话选项
属性
账户?:认证会话账户信息
The account that is being asked about. If this is passed in, the provider should attempt to return the sessions that are only related to this account.
认证会话
代表当前已登录用户的会话。
属性
The access token. This token should be used to authenticate requests to a service. Popularized by OAuth.
- reference - https://oauth.net/2/access-tokens/
账户:认证会话账户信息
The account associated with the session.
The identifier of the authentication session.
The ID token. This token contains identity information about the user. Popularized by OpenID Connect.
The permissions granted by the session's access token. Available scopes are defined by the AuthenticationProvider.
认证会话账户信息
与身份验证会话关联的账户信息。
属性
The unique identifier of the account.
The human-readable name of the account.
认证会话更改事件
属性
提供者:身份验证提供者信息
The AuthenticationProvider that has had its sessions change.
认证WwwAuthenticate请求
代表根据WWW-Authenticate头值创建会话的参数。 当API返回401并带有WWW-Authenticate头表示需要额外认证时,会使用此功能。这些详细信息将传递给认证提供商以创建会话。
- 注 - 授权提供者必须支持处理挑战,并且特别地支持这个 WWW-Authenticate 值中的挑战。
- 注 - 更多关于WWW-Authenticate的信息,请参见 https://developer.mozilla.org/docs/Web/HTTP/Reference/Headers/WWW-Authenticate
属性
The fallback scopes to use if no scopes are found in the WWW-Authenticate header.
The raw WWW-Authenticate header value that triggered this challenge. This will be parsed by the authentication provider to extract the necessary challenge information.
自动闭合对
描述了字符串对,当输入开头字符串时,系统会自动插入结束字符串。
属性
The closing string that will be automatically inserted when typing the opening string.
不在?:SyntaxTokenType[]"
A set of tokens where the pair should not be auto closed.
The string that will trigger the automatic insertion of the closing string.
分支覆盖
包含中分支的覆盖信息。语句覆盖
构造函数
新的分支覆盖(已执行: 数字 | 布尔值, 位置?: 范围 | 位置, Tab?: 字符串): 分支覆盖
| Parameter | Description |
|---|---|
| executed: number | boolean | The number of times this branch was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the branch will be marked as un-covered. |
| location?: Range | Position | The branch position. |
| label?: string | |
| Returns | Description |
| BranchCoverage |
属性
The number of times this branch was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the branch will be marked as un-covered.
Label for the branch, used in the context of "the ${label} branch was not taken," for example.
Branch location.
断点
所有断点类型的基类。
构造函数
新的断点(启用?: 布尔值, 条件?: 字符串, 命中条件?: 字符串, 日志消息?: 字符串): 断点
Creates a new breakpoint
| Parameter | Description |
|---|---|
| enabled?: boolean | Is breakpoint enabled. |
| condition?: string | Expression for conditional breakpoints |
| hitCondition?: string | Expression that controls how many hits of the breakpoint are ignored |
| logMessage?: string | Log message to display when breakpoint is hit |
| Returns | Description |
| Breakpoint |
属性
An optional expression for conditional breakpoints.
Is breakpoint enabled.
An optional expression that controls how many hits of the breakpoint are ignored.
The unique ID of the breakpoint.
An optional message that gets logged when this breakpoint is hit. Embedded expressions within {} are interpolated by the debug adapter.
断点更改事件
一个描述集合断点变化的事件。
属性
添加:只读断点[]
Added breakpoints.
更改:只读断点[]
Changed breakpoints.
移除:只读 断点[]
Removed breakpoints.
调用层次结构入站调用
表示一个传入的调用,例如方法或构造函数的调用者。
构造函数
新的调用层次结构入站调用(项目: 调用层次结构项目, 来自范围: 范围[]): 调用层次结构入站调用
Create a new call object.
| Parameter | Description |
|---|---|
| item: CallHierarchyItem | The item making the call. |
| fromRanges: Range[] | The ranges at which the calls appear. |
| Returns | Description |
| CallHierarchyIncomingCall |
属性
来自:调用层次项
The item that makes the call.
从范围:范围[]
The range at which at which the calls appears. This is relative to the caller denoted by this.from.
调用层次项
在调用层次结构的上下文中表示函数或构造函数等编程构造。
构造函数
新的调用层次项(类型: 符号类型, 名称: 字符串, 详细信息: 字符串, 统一资源标识符: 统一资源标识符, 范围: 范围, 选择范围: 范围): 调用层次项
Creates a new call hierarchy item.
| Parameter | Description |
|---|---|
| kind: SymbolKind | |
| name: string | |
| detail: string | |
| uri: Uri | |
| range: Range | |
| selectionRange: Range | |
| Returns | Description |
| CallHierarchyItem |
属性
More detail for this item, e.g. the signature of a function.
种类:SymbolKind
The kind of this item.
The name of this item.
范围:范围
The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
选择范围:范围
The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. Must be contained by the range.
Tab?:只读 SymbolTag[]{}
Tags for this item.
uri:Uri
The resource identifier of this item.
调用层次结构出站调用
表示一个出站调用,例如从方法调用一个获取器,或者从构造函数调用一个方法等。
构造函数
新的调用层次结构出站调用(项目: 调用层次结构项目, 来自范围: 范围[]): 调用层次结构出站调用
Create a new call object.
| Parameter | Description |
|---|---|
| item: CallHierarchyItem | The item being called |
| fromRanges: Range[] | The ranges at which the calls appear. |
| Returns | Description |
| CallHierarchyOutgoingCall |
属性
从范围:范围[]
The range at which this item is called. This is the range relative to the caller, e.g the item passed to provideCallHierarchyOutgoingCalls and not this.to.
到:调用层次项
The item that is called.
调用层次结构提供程序
调用层次结构提供程序接口描述了扩展与调用层次结构功能之间的契约,该功能允许浏览函数、方法、构造函数等的调用和调用者。
方法
准备调用层次结构(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<调用层次结构项 | 调用层次结构项[]>
Bootstraps call hierarchy by returning the item that is denoted by the given document
and position. This item will be used as entry into the call graph. Providers should
return undefined or null when there is no item at the given location.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<CallHierarchyItem | CallHierarchyItem[]> | One or multiple call hierarchy items or a thenable that resolves to such. The lack of a result can be
signaled by returning |
提供调用层次结构的入站调用(项目: 调用层次结构项, 令牌: 取消令牌): 提供者结果<调用层次结构入站调用[]>
Provide all incoming calls for an item, e.g all callers for a method. In graph terms this describes directed and annotated edges inside the call graph, e.g the given item is the starting node and the result is the nodes that can be reached.
| Parameter | Description |
|---|---|
| item: CallHierarchyItem | The hierarchy item for which incoming calls should be computed. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<CallHierarchyIncomingCall[]> | A set of incoming calls or a thenable that resolves to such. The lack of a result can be
signaled by returning |
提供调用层次结构的出站调用(项目: 调用层次结构项目, 令牌: 取消令牌): 提供者结果<调用层次结构的出站调用[]>
Provide all outgoing calls for an item, e.g call calls to functions, methods, or constructors from the given item. In graph terms this describes directed and annotated edges inside the call graph, e.g the given item is the starting node and the result is the nodes that can be reached.
| Parameter | Description |
|---|---|
| item: CallHierarchyItem | The hierarchy item for which outgoing calls should be computed. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<CallHierarchyOutgoingCall[]> | A set of outgoing calls or a thenable that resolves to such. The lack of a result can be
signaled by returning |
取消错误
用于指示操作取消的错误类型。
这种类型可以在取消令牌 被取消或当一个操作被执行者取消时使用。
构造函数
新的 CancellationError(): CancellationError
Creates a new cancellation error.
| Parameter | Description |
|---|---|
| Returns | Description |
| CancellationError |
取消令牌
取消令牌传递给异步或长时间运行的操作以请求取消,例如因为用户继续输入而取消完成项请求。
获取一个CancellationToken的实例
CancellationTokenSource。
属性
Is true when the token has been cancelled, false otherwise.
onCancellationRequested:事件<任何>
An Event which fires upon cancellation.
取消令牌源
取消源创建和控制一个取消令牌。
构造函数
新的 CancellationTokenSource(): CancellationTokenSource
| Parameter | Description |
|---|---|
| Returns | Description |
| CancellationTokenSource |
属性
令牌:取消令牌
The cancellation token of this source.
方法
Signal cancellation on the token.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Dispose object and free resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
字符对
一个由两个字符组成的元组,就像一对 开括号和闭括号。
聊天上下文
传递给参与者的额外上下文。
属性
历史:ReadonlyArray<聊天请求轮次 | 聊天响应轮次>
All of the chat messages so far in the current chat session. Currently, only chat messages for the current participant are included.
聊天错误详情
表示聊天请求的错误结果。
属性
An error message that is shown to the user.
If set to true, the response will be partly blurred out.
聊天跟进
参与者提出的一个后续问题。
属性
By default, the followup goes to the same participant/command. But this property can be set to invoke a different command.
A title to show the user. The prompt will be shown by default, when this is unspecified.
By default, the followup goes to the same participant/command. But this property can be set to invoke a different participant by ID. Followups can only invoke a participant that was contributed by the same extension.
The message to send to the chat.
聊天跟进提供者
每次获取建议的后续问题后,将调用一次,以显示给用户。用户可以点击后续问题将其发送到聊天。
方法
提供跟进(结果: 聊天结果, 上下文: 聊天上下文, 令牌: 取消令牌): 提供者结果<聊天跟进[]>
Provide followups for the given result.
| Parameter | Description |
|---|---|
| result: ChatResult | This object has the same properties as the result returned from the participant callback, including |
| context: ChatContext | Extra context passed to a participant. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<ChatFollowup[]> |
聊天语言模型工具参考
用户手动附加到其请求中的工具的引用,无论是使用#-syntax内联,还是通过回形针按钮作为附件。
属性
The tool name. Refers to a tool listed in lm.tools.
The start and end index of the reference in the prompt. When undefined, the reference was not part of the prompt text.
Note that the indices take the leading #-character into account which means they can be used to modify the prompt
as-is.
聊天参与者
聊天参与者可以通过聊天会话中的用户使用前缀来调用。当它被调用时,它处理聊天请求,并且完全负责向用户提供响应。Chat Participant 是通过chat.createChatParticipant创建的。
事件
onDidReceiveFeedback:事件<ChatResultFeedback>
An event that fires whenever feedback for a result is received, e.g. when a user up- or down-votes a result.
The passed result is guaranteed to have the same properties as the result that was previously returned from this chat participant's handler.
属性
后续提供者?:聊天后续提供者
This provider will be called once after each request to retrieve suggested followup questions.
图标路径?: 图标路径
An icon for the participant shown in UI.
A unique ID for this participant.
请求处理程序:聊天请求处理程序
The handler for requests to this participant.
方法
Dispose this participant and free resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
聊天参与者工具令牌
一个可以在处理聊天请求时调用工具时传递的令牌lm.invokeTool
聊天提示参考
用户添加到聊天请求中的值的引用。
属性
A unique identifier for this kind of reference.
A description of this value that could be used in an LLM prompt.
The start and end index of the reference in the prompt. When undefined, the reference was not part of the prompt text.
Note that the indices take the leading #-character into account which means they can
used to modify the prompt as-is.
The value of this reference. The string | Uri | Location types are used today, but this could expand in the future.
聊天请求
对聊天参与者的请求。
属性
The name of the [ChatCommand command](#_ChatCommand command) that was selected for this request.
模型:语言模型聊天
This is the model that is currently selected in the UI. Extensions can use this or use lm.selectChatModels to pick another model. Don't hold onto this past the lifetime of the request.
The prompt as entered by the user.
Information about references used in this request is stored in ChatRequest.references.
Note that the [ChatParticipant.name name](#_ChatParticipant.name name) of the participant and the [ChatCommand.name command](#_ChatCommand.name command) are not part of the prompt.
参考文献:只读 ChatPromptReference[]{}
The list of references and their values that are referenced in the prompt.
Note that the prompt contains references as authored and that it is up to the participant to further modify the prompt, for instance by inlining reference values or creating links to headings which contain the resolved values. References are sorted in reverse by their range in the prompt. That means the last reference in the prompt is the first in this list. This simplifies string-manipulation of the prompt.
A token that can be passed to lm.invokeTool when invoking a tool inside the context of handling a chat request. This associates the tool invocation to a chat session.
工具引用:只读聊天语言模型工具引用[]
The list of tools that the user attached to their request.
When a tool reference is present, the chat participant should make a chat request using LanguageModelChatToolMode.Required to force the language model to generate input for the tool. Then, the participant can use lm.invokeTool to use the tool attach the result to its request for the user's prompt. The tool may contribute useful extra context for the user's request.
聊天请求处理程序
ChatRequestHandler:(请求:ChatRequest,上下文:ChatContext,响应:ChatResponseStream,令牌:CancellationToken) => ProviderResult < ChatResult | void
聊天请求轮次
代表聊天历史中的用户请求。
属性
The name of the [ChatCommand command](#_ChatCommand command) that was selected for this request.
The id of the chat participant to which this request was directed.
The prompt as entered by the user.
Information about references used in this request is stored in ChatRequestTurn.references.
Note that the [ChatParticipant.name name](#_ChatParticipant.name name) of the participant and the [ChatCommand.name command](#_ChatCommand.name command) are not part of the prompt.
参考文献:ChatPromptReference[]
The references that were used in this message.
工具引用:只读聊天语言模型工具引用[]
The list of tools were attached to this request.
聊天响应锚定部分
表示聊天响应中作为目标链接的锚点部分。
构造函数
新的ChatResponseAnchorPart(值:Uri | Location,标题?:字符串):ChatResponseAnchorPart
Create a new ChatResponseAnchorPart.
| Parameter | Description |
|---|---|
| value: Uri | Location | A uri or location. |
| title?: string | An optional title that is rendered with value. |
| Returns | Description |
| ChatResponseAnchorPart |
属性
An optional title that is rendered with value.
The target of this anchor.
聊天响应命令按钮部分
代表聊天响应中执行命令的按钮部分。
构造函数
新的ChatResponseCommandButtonPart(值:命令):ChatResponseCommandButtonPart
Create a new ChatResponseCommandButtonPart.
| Parameter | Description |
|---|---|
| value: Command | A Command that will be executed when the button is clicked. |
| Returns | Description |
| ChatResponseCommandButtonPart |
属性
值:命令
The command that will be executed when the button is clicked.
聊天响应文件树
在聊天响应中表示文件树结构。
属性
儿童?:聊天响应文件树[]
An array of child file trees, if the current file tree is a directory.
The name of the file or directory.
聊天响应文件树部分
表示聊天响应中文件树的一部分。
构造函数
新的ChatResponseFileTreePart(值: ChatResponseFileTree[], 基础Uri: Uri): ChatResponseFileTreePart
Create a new ChatResponseFileTreePart.
| Parameter | Description |
|---|---|
| value: ChatResponseFileTree[] | File tree data. |
| baseUri: Uri | The base uri to which this file tree is relative. |
| Returns | Description |
| ChatResponseFileTreePart |
属性
基础Uri:Uri
The base uri to which this file tree is relative
值:ChatResponseFileTree[]{}
File tree data.
聊天响应标记部分
表示聊天响应中以Markdown格式化的一部分。
构造函数
新的 ChatResponseMarkdownPart(值: 字符串 | Markdown字符串): ChatResponseMarkdownPart
Create a new ChatResponseMarkdownPart.
| Parameter | Description |
|---|---|
| value: string | MarkdownString | A markdown string or a string that should be interpreted as markdown. The boolean form of MarkdownString.isTrusted is NOT supported. |
| Returns | Description |
| ChatResponseMarkdownPart |
属性
A markdown string or a string that should be interpreted as markdown.
聊天响应部分
代表不同的聊天响应类型。
聊天响应部分:聊天响应Markdown部分 | 聊天响应文件树部分 | 聊天响应锚点部分 | 聊天响应进度部分 | 聊天响应引用部分 | 聊天响应命令按钮部分
聊天响应进度部分
表示聊天响应中的一部分,是进度消息。
构造函数
新的ChatResponseProgressPart(值: 字符串): ChatResponseProgressPart
Create a new ChatResponseProgressPart.
| Parameter | Description |
|---|---|
| value: string | A progress message |
| Returns | Description |
| ChatResponseProgressPart |
属性
The progress message
聊天响应参考部分
表示聊天响应中引用部分,与内容分开渲染。
构造函数
新的聊天响应参考部分(值: Uri | 位置, 图标路径?: 图标路径): 聊天响应参考部分
Create a new ChatResponseReferencePart.
| Parameter | Description |
|---|---|
| value: Uri | Location | A uri or location |
| iconPath?: IconPath | Icon for the reference shown in UI |
| Returns | Description |
| ChatResponseReferencePart |
属性
图标路径?: 图标路径
The icon for the reference.
The reference target.
聊天响应流
ChatResponseStream 是参与者能够将内容返回到聊天视图的方式。它提供了几种方法来流式传输不同类型的的内容,这些内容将在聊天视图中以适当的方式呈现。参与者可以使用它想要返回的内容类型的辅助方法,或者它可以实例化一个ChatResponsePart并使用通用的ChatResponseStream.push方法来返回它。
方法
Push an anchor part to this stream. Short-hand for
push(new ChatResponseAnchorPart(value, title)).
An anchor is an inline reference to some type of resource.
按钮(命令: 命令): 无
Push a command button part to this stream. Short-hand for
push(new ChatResponseCommandButtonPart(value, title)).
| Parameter | Description |
|---|---|
| command: Command | A Command that will be executed when the button is clicked. |
| Returns | Description |
| void |
文件树(值: ChatResponseFileTree[], 基础Uri: Uri): 无
Push a filetree part to this stream. Short-hand for
push(new ChatResponseFileTreePart(value)).
| Parameter | Description |
|---|---|
| value: ChatResponseFileTree[] | File tree data. |
| baseUri: Uri | The base uri to which this file tree is relative. |
| Returns | Description |
| void |
markdown(值: 字符串 | Markdown字符串): 无
Push a markdown part to this stream. Short-hand for
push(new ChatResponseMarkdownPart(value)).
See also ChatResponseStream.push
| Parameter | Description |
|---|---|
| value: string | MarkdownString | A markdown string or a string that should be interpreted as markdown. The boolean form of MarkdownString.isTrusted is NOT supported. |
| Returns | Description |
| void |
Push a progress part to this stream. Short-hand for
push(new ChatResponseProgressPart(value)).
| Parameter | Description |
|---|---|
| value: string | A progress message |
| Returns | Description |
| void |
推送(部分: 聊天响应部分): 无
Pushes a part to this stream.
| Parameter | Description |
|---|---|
| part: ChatResponsePart | A response part, rendered or metadata |
| Returns | Description |
| void |
参考(值: Uri | 位置, 图标路径?: 图标路径): 无
Push a reference to this stream. Short-hand for
push(new ChatResponseReferencePart(value)).
Note that the reference is not rendered inline with the response.
聊天响应回合
代表聊天历史中聊天参与者的响应。
属性
The name of the command that this response came from.
The id of the chat participant that this response came from.
响应:ReadonlyArray<ChatResponseMarkdownPart | ChatResponseFileTreePart | ChatResponseAnchorPart | ChatResponseCommandButtonPart>
The content that was received from the chat participant. Only the stream parts that represent actual content (not metadata) are represented.
结果:聊天结果
The result that was received from the chat participant.
聊天结果
聊天请求的结果。
属性
错误详情?:聊天错误详情
If the request resulted in an error, this property defines the error details.
Arbitrary metadata for this result. Can be anything, but must be JSON-stringifyable.
聊天结果反馈
代表用户对结果的反馈。
属性
种类:聊天结果反馈种类
The kind of feedback that was received.
结果:聊天结果
The ChatResult for which the user is providing feedback.
This object has the same properties as the result returned from the participant callback, including metadata, but is not the same instance.
聊天结果反馈类型
表示收到的用户反馈类型。
枚举成员
The user marked the result as unhelpful.
The user marked the result as helpful.
剪贴板
剪贴板提供对系统剪贴板的读写访问。
方法
Read the current clipboard contents as text.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<string> | A thenable that resolves to a string. |
writeText(value: 字符串): Thenable<无>
Writes text into the clipboard.
| Parameter | Description |
|---|---|
| value: string | |
| Returns | Description |
| Thenable<void> | A thenable that resolves when writing happened. |
代码操作
构造函数
新的 CodeAction(标题: 字符串, 类型?: CodeActionKind): CodeAction
| Parameter | Description |
|---|---|
| title: string | The title of the code action. |
| kind?: CodeActionKind | The kind of the code action. |
| Returns | Description |
| CodeAction |
属性
命令?:命令
A Command this code action executes.
If this command throws an exception, the editor displays the exception message to users in the editor at the current cursor position.
诊断?: 诊断[]
Diagnostics that this code action resolves.
Marks that the code action cannot currently be applied.
Disabled code actions are not shown in automatic lightbulb code action menu.
Disabled actions are shown as faded out in the code action menu when the user request a more specific type of code action, such as refactorings.
If the user has a keybinding that auto applies a code action and only a disabled code actions are returned, the editor will show the user an error message with
reasonin the editor.
| Parameter | Description |
|---|---|
| reason: string | Human readable description of why the code action is currently disabled. This is displayed in the code actions UI. |
编辑?:工作区编辑
A workspace edit this code action performs.
Marks this as a preferred action. Preferred actions are used by the auto fix command and can be targeted
by keybindings.
A quick fix should be marked preferred if it properly addresses the underlying error. A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
种类?:CodeActionKind
Kind of the code action.
Used to filter code actions.
A short, human-readable, title for this code action.
代码操作上下文
包含有关代码操作运行上下文的附加诊断信息。
属性
诊断:只读 诊断[]
An array of diagnostics.
Requested kind of actions to return.
Actions not of this kind are filtered out before being shown by the lightbulb.
触发类型:代码操作触发类型
The reason why code actions were requested.
代码操作种类
有点像代码操作。
子项是一个按层次排列的标识符列表,用.分隔,例如"refactor.extract.function".
代码操作种类被编辑器用于用户界面元素,如提取上下文菜单。用户
还可以使用特定种类的editor.action.codeAction命令触发代码操作。
静态
Empty kind.
笔记本:CodeActionKind
Base kind for all code actions applying to the entire notebook's scope. CodeActionKinds using
this should always begin with notebook.
This requires that new CodeActions be created for it and contributed via extensions.
Pre-existing kinds can not just have the new notebook. prefix added to them, as the functionality
is unique to the full-notebook scope.
Notebook CodeActionKinds can be initialized as either of the following (both resulting in notebook.source.xyz):
const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)const newKind = CodeActionKind.Notebook.append('source.xyz')
Example Kinds/Actions:
notebook.source.organizeImports(might move all imports to a new top cell)notebook.source.normalizeVariableNames(might rename all variables to a standardized casing format)
快速修复:代码行动类型
Base kind for quickfix actions: quickfix.
Quick fix actions address a problem in the code and are shown in the normal code action context menu.
重构:代码操作类型
Base kind for refactoring actions: refactor
Refactoring actions are shown in the refactoring context menu.
提取重写:代码行动类型
Base kind for refactoring extraction actions: refactor.extract
Example extract actions:
- Extract method
- Extract function
- Extract variable
- Extract interface from class
- ...
内联重构:代码操作类型
Base kind for refactoring inline actions: refactor.inline
Example inline actions:
- Inline function
- Inline variable
- Inline constant
- ...
重构移动:代码操作类型
Base kind for refactoring move actions: refactor.move
Example move actions:
- Move a function to a new file
- Move a property between classes
- Move method to base class
- ...
重构重写:代码操作类型
Base kind for refactoring rewrite actions: refactor.rewrite
Example rewrite actions:
- Convert JavaScript function to class
- Add or remove parameter
- Encapsulate field
- Make method static
- ...
Base kind for source actions: source
Source code actions apply to the entire file. They must be explicitly requested and will not show in the
normal lightbulb menu. Source actions
can be run on save using editor.codeActionsOnSave and are also shown in the source context menu.
源代码修复:代码行动类型
Base kind for auto-fix source actions: source.fixAll.
Fix all actions automatically fix errors that have a clear fix that do not require user input. They should not suppress errors or perform unsafe fixes such as generating new types or classes.
源组织导入:代码操作类型
Base kind for an organize imports source action: source.organizeImports.
构造函数
新的 CodeActionKind(值:字符串):CodeActionKind
Private constructor, use static CodeActionKind.XYZ to derive from an existing code action kind.
| Parameter | Description |
|---|---|
| value: string | The value of the kind, such as |
| Returns | Description |
| CodeActionKind |
属性
String value of the kind, e.g. "refactor.extract.function".
方法
追加(部分: 字符串): 代码操作类型
Create a new kind by appending a more specific selector to the current kind.
Does not modify the current kind.
| Parameter | Description |
|---|---|
| parts: string | |
| Returns | Description |
| CodeActionKind |
包含(其他: CodeActionKind): 布尔值
Checks if other is a sub-kind of this CodeActionKind.
The kind "refactor.extract" for example contains "refactor.extract" and ``"refactor.extract.function", but not "unicorn.refactor.extract", or "refactor.extractAll"orrefactor`.
| Parameter | Description |
|---|---|
| other: CodeActionKind | Kind to check. |
| Returns | Description |
| boolean |
相交(其他: CodeActionKind): 布尔值
Checks if this code action kind intersects other.
The kind "refactor.extract" for example intersects refactor, "refactor.extract" and "refactor.extract.function",
but not "unicorn.refactor.extract", or "refactor.extractAll".
| Parameter | Description |
|---|---|
| other: CodeActionKind | Kind to check. |
| Returns | Description |
| boolean |
代码操作提供者<T>
为代码提供上下文相关的操作。代码操作通常要么修复问题,要么美化/重构代码。
代码操作以几种不同的方式呈现给用户:
方法
提供代码行动(文档: 文本文档, 范围: 范围 | 选择, 上下文: 代码行动上下文, 令牌: 取消令牌): 提供者结果<数组<命令 | 任意类型>>
Get code actions for a given range in a document.
Only return code actions that are relevant to user for the requested range. Also keep in mind how the
returned code actions will appear in the UI. The lightbulb widget and Refactor commands for instance show
returned code actions as a list, so do not return a large number of code actions that will overwhelm the user.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| range: Range | Selection | The selector or range for which the command was invoked. This will always be a selection if the actions are being requested in the currently active editor. |
| context: CodeActionContext | Provides additional information about what code actions are being requested. You can use this to see what specific type of code actions are being requested by the editor in order to return more relevant actions and avoid returning irrelevant code actions that the editor will discard. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Array<Command | T>> | An array of code actions, such as quick fixes or refactorings. The lack of a result can be signaled
by returning We also support returning |
解决代码操作(代码操作: T, 令牌: 取消令牌): 提供者结果<T>
Given a code action fill in its edit-property. Changes to all other properties, like title, are ignored. A code action that has an edit will not be resolved.
Note that a code action provider that returns commands, not code actions, cannot successfully implement this function. Returning commands is deprecated and instead code actions should be returned.
| Parameter | Description |
|---|---|
| codeAction: T | A code action. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved code action or a thenable that resolves to such. It is OK to return the given
|
代码操作提供程序元数据
关于CodeActionProvider提供的代码操作类型的元数据。
属性
文档?:ReadonlyArray<{command: Command, kind: CodeActionKind}>
Static documentation for a class of code actions.
Documentation from the provider is shown in the code actions menu if either:
Code actions of
kindare requested by the editor. In this case, the editor will show the documentation that most closely matches the requested code action kind. For example, if a provider has documentation for bothRefactorandRefactorExtract, when the user requests code actions forRefactorExtract, the editor will use the documentation forRefactorExtractinstead of the documentation forRefactor.Any code actions of
kindare returned by the provider.
At most one documentation entry will be shown per provider.
提供的代码操作类型?:只读 代码操作类型[]
List of CodeActionKinds that a CodeActionProvider may return.
This list is used to determine if a given CodeActionProvider should be invoked or not.
To avoid unnecessary computation, every CodeActionProvider should list use providedCodeActionKinds. The
list of kinds may either be generic, such as [CodeActionKind.Refactor], or list out every kind provided,
such as [CodeActionKind.Refactor.Extract.append('function'), CodeActionKind.Refactor.Extract.append('constant'), ...].
代码操作触发类型
请求代码操作的原因。
枚举成员
Code actions were explicitly requested by the user or by an extension.
Code actions were requested automatically.
This typically happens when current selection in a file changes, but can also be triggered when file content changes.
代码洞察
构造函数
新的 CodeLens(范围: 范围, 命令?: 命令): CodeLens
Creates a new code lens object.
属性
命令?:命令
The command this code lens represents.
true when there is a command associated.
范围:范围
The range in which this code lens is valid. Should only span a single line.
代码 Lens 提供程序 <T>
代码视图提供者向源文本添加命令。这些命令将显示在源文本之间的专用水平线上。
事件
onDidChangeCodeLenses?:Event<void>
An optional event to signal that the code lenses from this provider have changed.
方法
提供代码片段(文档: 文本文档, 令牌: 取消令牌): 提供者结果< T []
Compute a list of lenses. This call should return as fast as possible and if computing the commands is expensive implementors should only return code lens objects with the range set and implement resolve.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | An array of code lenses or a thenable that resolves to such. The lack of a result can be
signaled by returning |
解决代码片段(代码片段: T, 令牌: CancellationToken): 提供者结果<T>
This function will be called for each visible code lens, usually when scrolling and after calls to compute-lenses.
| Parameter | Description |
|---|---|
| codeLens: T | Code lens that must be resolved. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The given, resolved code lens or thenable that resolves to such. |
颜色
在 RGBA 空间中表示一个颜色。
构造函数
新颜色(红色: 数字, 绿色: 数字, 蓝色: 数字, 透明度: 数字): 颜色
Creates a new color instance.
| Parameter | Description |
|---|---|
| red: number | The red component. |
| green: number | The green component. |
| blue: number | The blue component. |
| alpha: number | The alpha component. |
| Returns | Description |
| Color |
属性
The alpha component of this color in the range [0-1].
The blue component of this color in the range [0-1].
The green component of this color in the range [0-1].
The red component of this color in the range [0-1].
颜色信息
表示文档中的颜色范围。
构造函数
Creates a new color range.
| Parameter | Description |
|---|---|
| range: Range | The range the color appears in. Must not be empty. |
| color: Color | The value of the color. |
| Returns | Description |
| ColorInformation |
属性
颜色:颜色
The actual color value for this color range.
范围:范围
The range in the document where this color appears.
颜色展示
颜色表示对象描述了如何将颜色表示为文本,以及从源代码中引用它所需的编辑。
对于某些语言,一种颜色可以有多种表示方式,例如,css 可以用常量Red、十六进制值#ff0000或在 rgba 和 hsla 形式中表示红色。在 csharp 中,其他表示方式适用,例如System.Drawing.Color.Red.
构造函数
新的颜色展示(Tab: 字符串): 颜色展示
Creates a new color presentation.
| Parameter | Description |
|---|---|
| label: string | The label of this color presentation. |
| Returns | Description |
| ColorPresentation |
属性
额外文本编辑?:文本编辑[]
An optional array of additional text edits that are applied when selecting this color presentation. Edits must not overlap with the main edit nor with themselves.
The label of this color presentation. It will be shown on the color picker header. By default this is also the text that is inserted when selecting this color presentation.
文本编辑?:文本编辑
颜色主题
代表一个颜色主题。
属性
种类:颜色主题种类
The kind of this color theme: light, dark, high contrast dark and high contrast light.
颜色主题类型
表示一种颜色主题类型。
枚举成员
A light color theme.
A dark color theme.
A dark high contrast color theme.
A light high contrast color theme.
命令
表示对命令的引用。提供一个标题,该标题将在用户界面中用于表示命令,并且可以提供一个数组的参数,这些参数将在调用时传递给命令处理函数。
属性
Arguments that the command handler should be invoked with.
The identifier of the actual command handler.
See also commands.registerCommand
Title of the command, like save.
A tooltip for the command, when represented in the UI.
评论
评论会在编辑器或评论面板中显示,具体取决于其提供方式。
属性
作者:评论作者信息
The author information of the comment
主体: 字符串 | Markdown字符串
The human-readable comment body
Context value of the comment. This can be used to contribute comment specific actions.
For example, a comment is given a context value as editable. When contributing actions to comments/comment/title
using menus extension point, you can specify context value for key comment in when expression like comment == editable.
"contributes": {
"menus": {
"comments/comment/title": [
{
"command": "extension.deleteComment",
"when": "comment == editable"
}
]
}
}
This will show action extension.deleteComment only for comments with contextValue is editable.
Optional label describing the Comment Label will be rendered next to authorName if exists.
模式:评论模式
Comment mode of the comment
反应?:评论反应[]
Optional reactions of the Comment
Optional timestamp that will be displayed in comments. The date will be formatted according to the user's locale and settings.
评论作者信息
作者信息评论
属性
图标路径?: Uri
The optional icon path for the author
The display name of the author of the comment
评论控制器
评论控制器能够提供评论支持给编辑,并为用户提供多种与评论互动的方式。
属性
注释范围提供者?: 注释范围提供者
Optional commenting range provider. Provide a list ranges which support commenting to any given resource uri.
If not provided, users cannot leave any comments.
The id of this comment controller.
The human-readable label of this comment controller.
选项?:评论选项
Comment controller options
反应处理程序?:(评论:评论,反应:评论反应) => 然后可无>
Optional reaction handler for creating and deleting reactions on a Comment.
| Parameter | Description |
|---|---|
| comment: Comment | |
| reaction: CommentReaction | |
| Returns | Description |
| Thenable<void> |
方法
创建评论线程(uri: Uri, 范围: Range, 评论: 只读 Comment[]): 评论线程
Create a comment thread. The comment thread will be displayed in visible text editors (if the resource matches) and Comments Panel once created.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the document the thread has been created on. |
| range: Range | The range the comment thread is located within the document. |
| comments: readonly Comment[] | The ordered comments of the thread. |
| Returns | Description |
| CommentThread |
Dispose this comment controller.
Once disposed, all comment threads created by this comment controller will also be removed from the editor and Comments Panel.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
评论范围提供者
评论范围提供者用于一个评论控制器.
方法
提供评论范围(文档: 文本文档, 令牌: 取消令牌): 提供者结果<范围[] | 评论范围>
Provide a list of ranges which allow new comment threads creation or null for a given document
| Parameter | Description |
|---|---|
| document: TextDocument | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<Range[] | CommentingRanges> |
评论范围
评论范围提供程序启用评论的范围。
属性
Enables comments to be added to a file without a specific range.
范围?:范围[]
The ranges which allow new comment threads creation.
评论模式
评论模式评论
枚举成员
Displays the comment editor
Displays the preview of the comment
评论选项
属性
An optional string to show as placeholder in the comment input box when it's focused.
An optional string to show on the comment input box when it's collapsed.
评论反应
一个 评论的反应
属性
Whether the author of the comment has reacted to this reaction
The number of users who have reacted to this reaction
图标路径:字符串 | Uri
Icon for the reaction shown in UI.
The human-readable label for the reaction
评论回复
在comments/commentThread/context中注册的动作的命令参数。
属性
The value in the comment editor
线程:评论线程
The active comment thread
评论规则
描述了某种语言的注释如何工作。
属性
块注释?: 字符对
The block comment character pair, like /* block comment */
The line comment token, like // this is a comment
评论线程
一个 评论的集合,代表文档中某一段对话。
属性
canReply:布尔值 | 评论作者信息
Whether the thread supports reply. Defaults to true.
可折叠状态:评论线程可折叠状态
Whether the thread should be collapsed or expanded when opening the document. Defaults to Collapsed.
评论:只读评论[]
The ordered comments of the thread.
Context value of the comment thread. This can be used to contribute thread specific actions.
For example, a comment thread is given a context value as editable. When contributing actions to comments/commentThread/title
using menus extension point, you can specify context value for key commentThread in when expression like commentThread == editable.
"contributes": {
"menus": {
"comments/commentThread/title": [
{
"command": "extension.deleteCommentThread",
"when": "commentThread == editable"
}
]
}
}
This will show action extension.deleteCommentThread only for comment threads with contextValue is editable.
The optional human-readable label describing the Comment Thread
范围:范围
The range the comment thread is located within the document. The thread icon will be shown at the last line of the range. When set to undefined, the comment will be associated with the file, and not a specific range.
状态?: 评论线程状态
The optional state of a comment thread, which may affect how the comment is displayed.
uri:Uri
The uri of the document the thread has been created on.
方法
Dispose this comment thread.
Once disposed, this comment thread will be removed from visible editors and Comment Panel when appropriate.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
评论线程可折叠状态
枚举成员
Determines an item is collapsed
Determines an item is expanded
评论线程状态
评论线程的状态。
枚举成员
Unresolved thread state
Resolved thread state
完成上下文
包含关于上下文的附加信息, 完成提供者被触发。
属性
Character that triggered the completion item provider.
undefined if the provider was not triggered by a character.
The trigger character is already in the document when the completion provider is triggered.
触发类型:完成触发类型
How the completion was triggered.
完成项
一个完成项代表一个建议用于完成正在输入的文本的文本片段。
只需从Tab创建一个完成项。在这种情况下,完成项将替换单词 直到光标处的给定标签或insertText。否则,将使用给定的编辑。
在编辑器中选择一个完成项时,其定义或合成的文本编辑将应用于所有光标/选择,而额外文本编辑将按提供的方式应用。
另见
构造函数
新的 CompletionItem(Tab: 字符串 | CompletionItemLabel, 种类?: CompletionItemKind): CompletionItem
Creates a new completion item.
Completion items must have at least a label which then will be used as insert text as well as for sorting and filtering.
| Parameter | Description |
|---|---|
| label: string | CompletionItemLabel | The label of the completion. |
| kind?: CompletionItemKind | The kind of the completion. |
| Returns | Description |
| CompletionItem |
属性
额外文本编辑?:文本编辑[]
An optional array of additional text edits that are applied when selecting this completion. Edits must not overlap with the main edit nor with themselves.
命令?:命令
An optional Command that is executed after inserting this completion. Note that additional modifications to the current document should be described with the additionalTextEdits-property.
An optional set of characters that when pressed while this completion is active will accept it first and
then type that character. Note that all commit characters should have length=1 and that superfluous
characters will be ignored.
A human-readable string with additional information about this item, like type or symbol information.
文档?:字符串 | Markdown字符串
A human-readable string that represents a doc-comment.
插入文本?: 字符串 | 片段字符串
A string or snippet that should be inserted in a document when selecting
this completion. When falsy the label
is used.
Keep whitespace of the insertText as is. By default, the editor adjusts leading
whitespace of new lines so that they match the indentation of the line for which the item is accepted - setting
this to true will prevent that.
种类?:完成项种类
The kind of this completion item. Based on the kind an icon is chosen by the editor.
Tab: 字符串 | 完成项标签
The label of this completion item. By default this is also the text that is inserted when selecting this completion.
Select this item when showing. Note that only one completion item can be selected and that the editor decides which item that is. The rule is that the first item of those that match best is selected.
A range or a insert and replace range selecting the text that should be replaced by this completion item.
When omitted, the range of the current word is used as replace-range and as insert-range the start of the current word to the current position is used.
Note 1: A range must be a single line and it must contain the position at which completion has been requested. Note 2: A insert range must be a prefix of a replace range, that means it must be contained and starting at the same position.
A string that should be used when comparing this item
with other items. When falsy the label
is used.
Note that sortText is only used for the initial ordering of completion
items. When having a leading word (prefix) ordering is based on how
well completions match that prefix and the initial ordering is only used
when completions match equally well. The prefix is defined by the
range-property and can therefore be different
for each completion.
Tab?:只读 CompletionItemTag[]
Tags for this completion item.
文本编辑?:文本编辑
- deprecated - Use
CompletionItem.insertTextandCompletionItem.rangeinstead.
An edit which is applied to a document when selecting this completion. When an edit is provided the value of insertText is ignored.
The Range of the edit must be single-line and on the same line completions were requested at.
完成项类型
完成项种类。
枚举成员
The Text completion item kind.
The Method completion item kind.
The Function completion item kind.
The Constructor completion item kind.
The Field completion item kind.
The Variable completion item kind.
The Class completion item kind.
The Interface completion item kind.
The Module completion item kind.
The Property completion item kind.
The Unit completion item kind.
The Value completion item kind.
The Enum completion item kind.
The Keyword completion item kind.
The Snippet completion item kind.
The Color completion item kind.
The File completion item kind.
The Reference completion item kind.
The Folder completion item kind.
The EnumMember completion item kind.
The Constant completion item kind.
The Struct completion item kind.
The Event completion item kind.
The Operator completion item kind.
The TypeParameter completion item kind.
The User completion item kind.
The Issue completion item kind.
完成项标签
一个结构化标签用于完成项。
属性
An optional string which is rendered less prominently after CompletionItemLabel.detail. Should be used for fully qualified names or file path.
An optional string which is rendered less prominently directly after label, without any spacing. Should be used for function signatures or type annotations.
The label of this completion item.
By default this is also the text that is inserted when this completion is selected.
完成项提供者<T>
完成项提供程序接口定义了扩展与 IntelliSense之间的契约。
提供者可以通过实现详细
和文档属性的计算。然而,那些在初始排序和过滤中所需的属性,如
,,sortText,和filterText,在解析过程中不得更改。insertTextrange
提供者通过用户手势显式地要求完成,或者(取决于配置)在输入单词或触发字符时隐式地要求完成。
方法
提供完成项(文档: 文本文档, 位置: 位置, 令牌: 取消令牌, 上下文: 完成上下文): 提供者结果<完成列表< T > | T []>
Provide completion items for the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| context: CompletionContext | How the completion was triggered. |
| Returns | Description |
| ProviderResult<CompletionList<T> | T[]> | An array of completions, a completion list, or a thenable that resolves to either.
The lack of a result can be signaled by returning |
解决完成项(项目: T, 令牌: 取消令牌): 提供者结果<T>
Given a completion item fill in more data, like doc-comment or details.
The editor will only resolve a completion item once.
Note that this function is called when completion items are already showing in the UI or when an item has been selected for insertion. Because of that, no property that changes the presentation (label, sorting, filtering etc) or the (primary) insert behaviour (insertText) can be changed.
This function may fill in additionalTextEdits. However, that means an item might be inserted before resolving is done and in that case the editor will do a best effort to still apply those additional text edits.
| Parameter | Description |
|---|---|
| item: T | A completion item currently active in the UI. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved completion item or a thenable that resolves to of such. It is OK to return the given
|
完成项标签
完成项标签是用于调整完成项渲染的额外注释。
枚举成员
Render a completion as obsolete, usually using a strike-out.
完成列表<T>
代表一个集合完成项将要在编辑器中呈现。
构造函数
新的 CompletionList<T extends CompletionItem>(items?: T[], isIncomplete?: boolean): CompletionList<T>
Creates a new completion list.
| Parameter | Description |
|---|---|
| items?: T[] | The completion items. |
| isIncomplete?: boolean | The list is not complete. |
| Returns | Description |
| CompletionList<T> |
属性
This list is not complete. Further typing should result in recomputing this list.
The completion items.
完成触发器类型
如何触发完成提供者
枚举成员
Completion was triggered normally.
Completion was triggered by a trigger character.
Completion was re-triggered as current completion list is incomplete
配置更改事件
一个描述配置更改的事件
方法
affectsConfiguration(部分: 字符串, 范围?: ConfigurationScope): 布尔值
Checks if the given section has changed. If scope is provided, checks if the section has changed for resources under the given scope.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| scope?: ConfigurationScope | A scope in which to check. |
| Returns | Description |
| boolean |
|
配置作用域
配置范围可以是:
- 一个表示资源的
- 一个TextDocument代表一个打开的文本文档
- 一个 工作区文件夹 代表一个工作区文件夹
- 一个包含以下内容的对象:
uri:一个可选的文本文件的UrilanguageId文本文档的语言识别器
配置范围:Uri | 文本文档 | 工作区文件夹 | {语言ID:字符串,uri:Uri}
配置目标
配置目标
枚举成员
Global configuration
Workspace configuration
Workspace folder configuration
自定义文档
代表一个由CustomEditorProvider使用的自定义文档。
自定义文档仅在给定的CustomEditorProvider范围内使用。一个CustomDocument的生命周期由编辑器管理。当CustomDocument不再有任何引用时,它将被销毁。
属性
uri:Uri
The associated uri for this document.
方法
Dispose of the custom document.
This is invoked by the editor when there are no more references to a given CustomDocument (for example when
all editors associated with the document have been closed.)
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
自定义文档备份
一个自定义文档的备份。
属性
Unique identifier for the backup.
This id is passed back to your extension in openCustomDocument when opening a custom editor from a backup.
方法
Delete the current backup.
This is called by the editor when it is clear the current backup is no longer needed, such as when a new backup is made or when the file is saved.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
自定义文档备份上下文
用于实现CustomDocumentBackup的附加信息。
属性
目的地:Uri
Suggested file location to write the new backup.
Note that your extension is free to ignore this and use its own strategy for backup.
If the editor is for a resource from the current workspace, destination will point to a file inside
ExtensionContext.storagePath. The parent folder of destination may not exist, so make sure to created it
before writing the backup to this location.
自定义文档内容更改事件<T>
扩展触发的事件,用于向编辑器发送信号,指示CustomDocument 的内容已更改。
属性
The document that the change is for.
自定义文档编辑事件<T>
扩展触发的事件,用于向编辑器发送信号,表示在CustomDocument上发生了编辑。
属性
The document that the edit is for.
Display name describing the edit.
This will be shown to users in the UI for undo/redo operations.
方法
Redo the edit operation.
This is invoked by the editor when the user redoes this edit. To implement redo, your
extension should restore the document and editor to the state they were in just after this
edit was added to the editor's internal edit stack by CustomEditorProvider.onDidChangeCustomDocument.
| Parameter | Description |
|---|---|
| Returns | Description |
| void | Thenable<void> |
Undo the edit operation.
This is invoked by the editor when the user undoes this edit. To implement undo, your
extension should restore the document and editor to the state they were in just before this
edit was added to the editor's internal edit stack by CustomEditorProvider.onDidChangeCustomDocument.
| Parameter | Description |
|---|---|
| Returns | Description |
| void | Thenable<void> |
自定义文档打开上下文
关于打开自定义文档的附加信息。
属性
The id of the backup to restore the document from or undefined if there is no backup.
If this is provided, your extension should restore the editor from the backup instead of reading the file from the user's workspace.
untitledDocumentData:Uint8Array
If the URI is an untitled file, this will be populated with the byte data of that file
If this is provided, your extension should utilize this byte data rather than executing fs APIs on the URI passed in
自定义编辑器提供者<T>
用于使用自定义文档模型的可编辑自定义编辑器的提供者。
自定义编辑器使用CustomDocument作为其文档模型,而不是TextDocument。 这使扩展完全控制编辑、保存和备份等操作。
在处理二进制文件或更复杂的场景时,您应该使用这种类型的自定义编辑器。对于简单的基于文本的文档,使用CustomTextEditorProvider。
事件
onDidChangeCustomDocument:事件<CustomDocumentEditEvent<T>> | 事件<CustomDocumentContentChangeEvent<T>>
Signal that an edit has occurred inside a custom editor.
This event must be fired by your extension whenever an edit happens in a custom editor. An edit can be anything from changing some text, to cropping an image, to reordering a list. Your extension is free to define what an edit is and what data is stored on each edit.
Firing onDidChangeCustomDocument causes the editors to be marked as being dirty. This is cleared when the user either saves or reverts the file.
Editors that support undo/redo must fire a CustomDocumentEditEvent whenever an edit happens. This allows users to undo and redo the edit using the editor's standard keyboard shortcuts. The editor will also mark the editor as no longer being dirty if the user undoes all edits to the last saved state.
Editors that support editing but cannot use the editor's standard undo/redo mechanism must fire a CustomDocumentContentChangeEvent.
The only way for a user to clear the dirty state of an editor that does not support undo/redo is to either
save or revert the file.
An editor should only ever fire CustomDocumentEditEvent events, or only ever fire CustomDocumentContentChangeEvent events.
方法
备份自定义文档(文档: T, 上下文: CustomDocumentBackupContext, 取消: CancellationToken): Thenable<CustomDocumentBackup>
Back up a dirty custom document.
Backups are used for hot exit and to prevent data loss. Your backupCustomDocument method should persist the resource in
its current state, i.e. with the edits applied. Most commonly this means saving the resource to disk in
the ExtensionContext.storagePath. When the editor reloads and your custom editor is opened for a resource,
your extension should first check to see if any backups exist for the resource. If there is a backup, your
extension should load the file contents from there instead of from the resource in the workspace.
backupCustomDocument is triggered approximately one second after the user stops editing the document. If the user rapidly edits the document, backupCustomDocument will not be invoked until the editing stops.
backupCustomDocument is not invoked when auto save is enabled (since auto save already persists the resource).
| Parameter | Description |
|---|---|
| document: T | Document to backup. |
| context: CustomDocumentBackupContext | Information that can be used to backup the document. |
| cancellation: CancellationToken | Token that signals the current backup since a new backup is coming in. It is up to your extension to decided how to respond to cancellation. If for example your extension is backing up a large file in an operation that takes time to complete, your extension may decide to finish the ongoing backup rather than cancelling it to ensure that the editor has some valid backup. |
| Returns | Description |
| Thenable<CustomDocumentBackup> | A Thenable signaling that the backup has completed. |
打开自定义文档(uri: Uri, 打开上下文: CustomDocumentOpenContext, 令牌: CancellationToken): T | Thenable<T>
Create a new document for a given resource.
openCustomDocument is called when the first time an editor for a given resource is opened. The opened
document is then passed to resolveCustomEditor so that the editor can be shown to the user.
Already opened CustomDocuments are re-used if the user opened additional editors. When all editors for a
given resource are closed, the CustomDocuments is disposed of. Opening an editor at this point will
trigger another call to openCustomDocument.
| Parameter | Description |
|---|---|
| uri: Uri | Uri of the document to open. |
| openContext: CustomDocumentOpenContext | Additional information about the opening custom document. |
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| T | Thenable<T> | The custom document. |
resolveCustomEditor(文档: T, webviewPanel: WebviewPanel, 令牌: CancellationToken): void | Thenable<void>
Resolve a custom editor for a given resource.
This is called whenever the user opens a new editor for this CustomEditorProvider.
| Parameter | Description |
|---|---|
| document: T | Document for the resource being resolved. |
| webviewPanel: WebviewPanel | The webview panel used to display the editor UI for this resource. During resolve, the provider must fill in the initial html for the content webview panel and hook up all
the event listeners on it that it is interested in. The provider can also hold onto the |
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| void | Thenable<void> | Optional thenable indicating that the custom editor has been resolved. |
revertCustomDocument(文档: T, 取消: CancellationToken): Thenable<无>
Revert a custom document to its last saved state.
This method is invoked by the editor when the user triggers File: Revert File in a custom editor. (Note that
this is only used using the editor's File: Revert File command and not on a git revert of the file).
The implementer must make sure all editor instances (webviews) for document are displaying the document in the same state is saved in. This usually means reloading the file from the workspace.
| Parameter | Description |
|---|---|
| document: T | Document to revert. |
| cancellation: CancellationToken | Token that signals the revert is no longer required. |
| Returns | Description |
| Thenable<void> | A Thenable signaling that the revert has completed. |
保存自定义文档(文档: T, 取消: CancellationToken): Thenable<无>
Save a custom document.
This method is invoked by the editor when the user saves a custom editor. This can happen when the user
triggers save while the custom editor is active, by commands such as save all, or by auto save if enabled.
The implementer must persist the custom editor. This usually means writing the file data for the custom document to disk. After saveCustomDocument completes, any associated editor instances will no longer be marked as dirty.
| Parameter | Description |
|---|---|
| document: T | Document to save. |
| cancellation: CancellationToken | Token that signals the save is no longer required (for example, if another save was triggered). |
| Returns | Description |
| Thenable<void> | A Thenable that saving has completed. |
保存自定义文档为(文档: T, 目标位置: Uri, 取消: CancellationToken): Thenable<void>
Save a custom document to a different location.
This method is invoked by the editor when the user triggers 'save as' on a custom editor. The implementer must persist the custom editor to destination.
When the user accepts save as, the current editor is be replaced by an non-dirty editor for the newly saved file.
| Parameter | Description |
|---|---|
| document: T | Document to save. |
| destination: Uri | Location to save to. |
| cancellation: CancellationToken | Token that signals the save is no longer required. |
| Returns | Description |
| Thenable<void> | A Thenable signaling that saving has completed. |
定制执行
用于以任务形式执行扩展回调的类。
构造函数
新的CustomExecution(回调: (已解析定义: 任务定义) => Thenable<伪终端>): CustomExecution
Constructs a CustomExecution task object. The callback will be executed when the task is run, at which point the extension should return the Pseudoterminal it will "run in". The task should wait to do further execution until Pseudoterminal.open is called. Task cancellation should be handled using Pseudoterminal.close. When the task is complete fire Pseudoterminal.onDidClose.
| Parameter | Description |
|---|---|
| callback: (resolvedDefinition: TaskDefinition) => Thenable<Pseudoterminal> | The callback that will be called when the task is started by a user. Any ${} style variables that
were in the task definition will be resolved and passed into the callback as |
| Returns | Description |
| CustomExecution |
自定义只读编辑器提供者<T>
用于使用自定义文档模型的只读自定义编辑器的提供者。
自定义编辑器使用CustomDocument作为他们的文档模型,而不是TextDocument。
在处理二进制文件或更复杂的场景时,您应该使用这种类型的自定义编辑器。对于简单的基于文本的文档,使用CustomTextEditorProvider。
方法
打开自定义文档(uri: Uri, 打开上下文: CustomDocumentOpenContext, 令牌: CancellationToken): T | Thenable<T>
Create a new document for a given resource.
openCustomDocument is called when the first time an editor for a given resource is opened. The opened
document is then passed to resolveCustomEditor so that the editor can be shown to the user.
Already opened CustomDocuments are re-used if the user opened additional editors. When all editors for a
given resource are closed, the CustomDocuments is disposed of. Opening an editor at this point will
trigger another call to openCustomDocument.
| Parameter | Description |
|---|---|
| uri: Uri | Uri of the document to open. |
| openContext: CustomDocumentOpenContext | Additional information about the opening custom document. |
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| T | Thenable<T> | The custom document. |
resolveCustomEditor(文档: T, webviewPanel: WebviewPanel, 令牌: CancellationToken): void | Thenable<void>
Resolve a custom editor for a given resource.
This is called whenever the user opens a new editor for this CustomEditorProvider.
| Parameter | Description |
|---|---|
| document: T | Document for the resource being resolved. |
| webviewPanel: WebviewPanel | The webview panel used to display the editor UI for this resource. During resolve, the provider must fill in the initial html for the content webview panel and hook up all
the event listeners on it that it is interested in. The provider can also hold onto the |
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| void | Thenable<void> | Optional thenable indicating that the custom editor has been resolved. |
自定义文本编辑器提供者
用于基于文本的自定义编辑器的提供者。
基于文本的自定义编辑器使用 TextDocument 作为其数据模型。这大大简化了自定义编辑器的实现,因为它允许编辑器处理许多常见操作,例如撤销和备份。提供者负责在WebView和 TextDocument 之间同步文本更改。
方法
resolveCustomTextEditor(文档: 文本文档, 网页视图面板: 网页视图面板, 令牌: 取消令牌): 无 | 然后可<无>
Resolve a custom editor for a given text resource.
This is called when a user first opens a resource for a CustomTextEditorProvider, or if they reopen an
existing editor using this CustomTextEditorProvider.
| Parameter | Description |
|---|---|
| document: TextDocument | Document for the resource to resolve. |
| webviewPanel: WebviewPanel | The webview panel used to display the editor UI for this resource. During resolve, the provider must fill in the initial html for the content webview panel and hook up all the event listeners on it that it is interested in. The provider can also hold onto the WebviewPanel to use later for example in a command. See WebviewPanel for additional details. |
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| void | Thenable<void> | Thenable indicating that the custom editor has been resolved. |
数据传输
包含相应传输数据的MIME类型映射的地图。
拖放实现 handleDrag的控制器可以向数据传输中添加额外的MIME类型。这些额外的MIME类型只有在拖放从同一拖放控制器中的元素开始时才会包含在handleDrop中。
构造函数
新的DataTransfer():DataTransfer
| Parameter | Description |
|---|---|
| Returns | Description |
| DataTransfer |
方法
[iterator](): IterableIterator<[mimeType: string, item: DataTransferItem]>
Get a new iterator with the [mime, item] pairs for each element in this data transfer.
| Parameter | Description |
|---|---|
| Returns | Description |
| IterableIterator<[mimeType: string, item: DataTransferItem]> |
forEach(callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void, thisArg?: any): void
Allows iteration through the data transfer items.
| Parameter | Description |
|---|---|
| callbackfn: (item: DataTransferItem, mimeType: string, dataTransfer: DataTransfer) => void | Callback for iteration through the data transfer items. |
| thisArg?: any | The |
| Returns | Description |
| void |
获取(媒体类型: 字符串): 数据传输项
Retrieves the data transfer item for a given mime type.
| Parameter | Description |
|---|---|
| mimeType: string | The mime type to get the data transfer item for, such as Special mime types:
|
| Returns | Description |
| DataTransferItem |
设置(媒体类型: 字符串, 值: 数据传输项): 无
Sets a mime type to data transfer item mapping.
| Parameter | Description |
|---|---|
| mimeType: string | The mime type to set the data for. Mimes types stored in lower case, with case-insensitive looks up. |
| value: DataTransferItem | The data transfer item for the given mime type. |
| Returns | Description |
| void |
数据传输文件
一个与数据传输项相关的文件。
这种类型的实例只能由编辑器创建,不能由扩展创建。
属性
The name of the file.
uri?: Uri
The full file path of the file.
May be undefined on web.
方法
The full file contents of the file.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<Uint8Array> |
数据传输项
封装在拖放操作期间传输的数据。
构造函数
新的DataTransferItem(值: 任何): DataTransferItem
| Parameter | Description |
|---|---|
| value: any | Custom data stored on this item. Can be retrieved using DataTransferItem.value. |
| Returns | Description |
| DataTransferItem |
属性
Custom data stored on this item.
You can use value to share data across operations. The original object can be retrieved so long as the extension that
created the DataTransferItem runs in the same extension host.
方法
asFile():DataTransferFile
Try getting the file associated with this data transfer item.
Note that the file object is only valid for the scope of the drag and drop operation.
| Parameter | Description |
|---|---|
| Returns | Description |
| DataTransferFile | The file for the data transfer or |
Get a string representation of this item.
If DataTransferItem.value is an object, this returns the result of json stringifying DataTransferItem.value value.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<string> |
调试适配器
如果实现了DebugAdapter接口,调试适配器可以被注册到编辑器中,它实现了调试适配器协议。
事件
An event which fires after the debug adapter has sent a Debug Adapter Protocol message to the editor. Messages can be requests, responses, or events.
方法
Dispose this object.
| Parameter | Description |
|---|---|
| Returns | Description |
| any |
处理消息(消息: 调试协议消息): 无
Handle a Debug Adapter Protocol message. Messages can be requests, responses, or events. Results or errors are returned via onSendMessage events.
| Parameter | Description |
|---|---|
| message: DebugProtocolMessage | A Debug Adapter Protocol message |
| Returns | Description |
| void |
调试适配器描述符
表示不同类型的调试适配器
调试适配器描述符:调试适配器可执行文件 | 调试适配器服务器 | 调试适配器命名管道服务器 | 调试适配器内联实现
调试适配器描述符工厂
一个创建调试适配器描述符的调试适配器工厂。
方法
createDebugAdapterDescriptor(会话: DebugSession, 可执行文件: DebugAdapterExecutable): ProviderResult<DebugAdapterDescriptor>
'createDebugAdapterDescriptor' is called at the start of a debug session to provide details about the debug adapter to use. These details must be returned as objects of type DebugAdapterDescriptor. Currently two types of debug adapters are supported:
- a debug adapter executable is specified as a command path and arguments (see DebugAdapterExecutable),
- a debug adapter server reachable via a communication port (see DebugAdapterServer). If the method is not implemented the default behavior is this: createDebugAdapter(session: DebugSession, executable: DebugAdapterExecutable) { if (typeof session.configuration.debugServer === 'number') { return new DebugAdapterServer(session.configuration.debugServer); } return executable; }
| Parameter | Description |
|---|---|
| session: DebugSession | The debug session for which the debug adapter will be used. |
| executable: DebugAdapterExecutable | The debug adapter's executable information as specified in the package.json (or undefined if no such information exists). |
| Returns | Description |
| ProviderResult<DebugAdapterDescriptor> | a debug adapter descriptor or undefined. |
调试适配器可执行文件
表示传递给调试适配器可执行文件的可选参数和运行时选项。
构造函数
新的 DebugAdapterExecutable(命令: 字符串, 参数?: 字符串[], 选项?: DebugAdapterExecutableOptions): DebugAdapterExecutable
Creates a description for a debug adapter based on an executable program.
| Parameter | Description |
|---|---|
| command: string | The command or executable path that implements the debug adapter. |
| args?: string[] | Optional arguments to be passed to the command or executable. |
| options?: DebugAdapterExecutableOptions | Optional options to be used when starting the command or executable. |
| Returns | Description |
| DebugAdapterExecutable |
属性
The arguments passed to the debug adapter executable. Defaults to an empty array.
The command or path of the debug adapter executable. A command must be either an absolute path of an executable or the name of an command to be looked up via the PATH environment variable. The special value 'node' will be mapped to the editor's built-in Node.js runtime.
选项?:调试适配器可执行文件选项
Optional options to be used when the debug adapter is started. Defaults to undefined.
调试适配器可执行选项
调试适配器可执行文件的选项。
属性
The current working directory for the executed debug adapter.
The additional environment of the executed program or shell. If omitted the parent process' environment is used. If provided it is merged with the parent process' environment.
调试适配器内联实现
用于内联实现的调试适配器描述符。
构造函数
新的调试适配器内联实现(实现:调试适配器):调试适配器内联实现
Create a descriptor for an inline implementation of a debug adapter.
| Parameter | Description |
|---|---|
| implementation: DebugAdapter | |
| Returns | Description |
| DebugAdapterInlineImplementation |
调试适配器命名管道服务器
表示一个作为命名管道(在Windows上)/UNIX域套接字(在非Windows上)服务器运行的调试适配器。
构造函数
新的 DebugAdapterNamedPipeServer(路径: 字符串): DebugAdapterNamedPipeServer
Create a description for a debug adapter running as a Named Pipe (on Windows)/UNIX Domain Socket (on non-Windows) based server.
| Parameter | Description |
|---|---|
| path: string | |
| Returns | Description |
| DebugAdapterNamedPipeServer |
属性
The path to the NamedPipe/UNIX Domain Socket.
调试适配器服务器
表示一个作为基于套接字的服务器运行的调试适配器。
构造函数
新的DebugAdapterServer(端口:数字,主机?:字符串):DebugAdapterServer
Create a description for a debug adapter running as a socket based server.
| Parameter | Description |
|---|---|
| port: number | |
| host?: string | |
| Returns | Description |
| DebugAdapterServer |
属性
The host.
The port.
调试适配器跟踪器
调试适配器跟踪器是一种跟踪编辑器与调试适配器之间通信的手段。
事件
The debug adapter has sent a Debug Adapter Protocol message to the editor.
| Parameter | Description |
|---|---|
| message: any | |
| Returns | Description |
| void |
onWillReceiveMessage(消息: 任何): 无
The debug adapter is about to receive a Debug Adapter Protocol message from the editor.
| Parameter | Description |
|---|---|
| message: any | |
| Returns | Description |
| void |
A session with the debug adapter is about to be started.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
The debug adapter session is about to be stopped.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
方法
An error with the debug adapter has occurred.
| Parameter | Description |
|---|---|
| error: Error | |
| Returns | Description |
| void |
The debug adapter has exited with the given exit code or signal.
| Parameter | Description |
|---|---|
| code: number | |
| signal: string | |
| Returns | Description |
| void |
调试适配器跟踪器工厂
一个创建调试适配器跟踪器的调试适配器工厂。
方法
创建调试适配器跟踪器(会话: 调试会话): 提供者结果<调试适配器跟踪器>
The method 'createDebugAdapterTracker' is called at the start of a debug session in order to return a "tracker" object that provides read-access to the communication between the editor and a debug adapter.
| Parameter | Description |
|---|---|
| session: DebugSession | The debug session for which the debug adapter tracker will be used. |
| Returns | Description |
| ProviderResult<DebugAdapterTracker> | A debug adapter tracker or undefined. |
调试配置
调试会话的配置。
属性
The name of the debug session.
The request type of the debug session.
The type of the debug session.
调试配置提供者
调试配置提供者允许向调试服务添加调试配置,并在使用它们启动调试会话之前解析启动配置。调试注册调试配置提供者。
方法
提供调试配置(文件夹: 工作区文件夹, 令牌?: 取消令牌): 提供结果<调试配置[]>
Provides debug configuration to the debug service. If more than one debug configuration provider is registered for the same type, debug configurations are concatenated in arbitrary order.
| Parameter | Description |
|---|---|
| folder: WorkspaceFolder | The workspace folder for which the configurations are used or |
| token?: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<DebugConfiguration[]> | An array of debug configurations. |
解决调试配置(文件夹: 工作区文件夹, 调试配置: 调试配置, 令牌?: 取消令牌): 提供者结果<调试配置>
Resolves a debug configuration by filling in missing values or by adding/changing/removing attributes. If more than one debug configuration provider is registered for the same type, the resolveDebugConfiguration calls are chained in arbitrary order and the initial debug configuration is piped through the chain. Returning the value 'undefined' prevents the debug session from starting. Returning the value 'null' prevents the debug session from starting and opens the underlying debug configuration instead.
| Parameter | Description |
|---|---|
| folder: WorkspaceFolder | The workspace folder from which the configuration originates from or |
| debugConfiguration: DebugConfiguration | The debug configuration to resolve. |
| token?: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<DebugConfiguration> | The resolved debug configuration or undefined or null. |
resolveDebugConfigurationWithSubstitutedVariables(folder: WorkspaceFolder, debugConfiguration: DebugConfiguration, token?: CancellationToken): ProviderResult<DebugConfiguration>
This hook is directly called after 'resolveDebugConfiguration' but with all variables substituted. It can be used to resolve or verify a debug configuration by filling in missing values or by adding/changing/removing attributes. If more than one debug configuration provider is registered for the same type, the 'resolveDebugConfigurationWithSubstitutedVariables' calls are chained in arbitrary order and the initial debug configuration is piped through the chain. Returning the value 'undefined' prevents the debug session from starting. Returning the value 'null' prevents the debug session from starting and opens the underlying debug configuration instead.
| Parameter | Description |
|---|---|
| folder: WorkspaceFolder | The workspace folder from which the configuration originates from or |
| debugConfiguration: DebugConfiguration | The debug configuration to resolve. |
| token?: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<DebugConfiguration> | The resolved debug configuration or undefined or null. |
调试配置提供程序触发类型
DebugConfigurationProviderTriggerKind 指定了 provideDebugConfigurations 方法何时被触发。
目前有两种情况:为新创建的 launch.json 提供初始调试配置,或
当用户通过 UI(例如通过 "Select and Start Debugging" 命令)请求时,提供动态生成的调试配置。
在注册 DebugConfigurationProvider 时使用触发类型 DebugConfigurationProvider 和 debug.registerDebugConfigurationProvider。
枚举成员
DebugConfigurationProvider.provideDebugConfigurations is called to provide the initial debug configurations for a newly created launch.json.
DebugConfigurationProvider.provideDebugConfigurations is called to provide dynamically generated debug configurations when the user asks for them through the UI (e.g. via the "Select and Start Debugging" command).
调试控制台
代表调试控制台。
方法
Append the given value to the debug console.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will not be printed. |
| Returns | Description |
| void |
Append the given value and a line feed character to the debug console.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will be printed. |
| Returns | Description |
| void |
调试控制台模式
调试会话使用的调试控制台模式,参见选项。
枚举成员
Debug session should have a separate debug console.
Debug session should share debug console with its parent session. This value has no effect for sessions which do not have a parent session.
调试协议断点
DebugProtocolBreakpoint 是用于 Debug Adapter Protocol 中定义的 Breakpoint 类型的不透明占位符类型。
调试协议消息
DebugProtocolMessage 是用于 Debug Adapter Protocol 中定义的 ProtocolMessage 类型的不透明占位符类型。
调试协议源
DebugProtocolSource 是一个用于 Debug Adapter Protocol 中定义的 Source 类型的不透明占位符类型。
调试会话
调试会话。
属性
配置:调试配置
The "resolved" debug configuration of this session. "Resolved" means that
- all variables have been substituted and
- platform specific attribute sections have been "flattened" for the matching platform and removed for non-matching platforms.
The unique ID of this debug session.
The debug session's name is initially taken from the debug configuration. Any changes will be properly reflected in the UI.
父会话?: 调试会话
The parent session of this debug session, if it was created as a child.
See also DebugSessionOptions.parentSession
The debug session's type from the debug configuration.
工作区文件夹:工作区文件夹
The workspace folder of this session or undefined for a folderless setup.
方法
自定义请求(命令: 字符串, 参数?: 任何): 可承诺<任何>
Send a custom request to the debug adapter.
| Parameter | Description |
|---|---|
| command: string | |
| args?: any | |
| Returns | Description |
| Thenable<any> |
获取调试协议断点(断点: 断点): Thenable<调试协议断点>
Maps a breakpoint in the editor to the corresponding Debug Adapter Protocol (DAP) breakpoint that is managed by the debug adapter of the debug session.
If no DAP breakpoint exists (either because the editor breakpoint was not yet registered or because the debug adapter is not interested in the breakpoint), the value undefined is returned.
| Parameter | Description |
|---|---|
| breakpoint: Breakpoint | A Breakpoint in the editor. |
| Returns | Description |
| Thenable<DebugProtocolBreakpoint> | A promise that resolves to the Debug Adapter Protocol breakpoint or |
调试会话自定义事件
收到一个来自调试会话的自定义调试适配器协议事件。
属性
Event specific information.
Type of event.
会话:调试会话
The debug session for which the custom event was received.
调试会话选项
启动调试会话的选项.
属性
Controls if the debug session's parent session is shown in the CALL STACK view even if it has only a single child. By default, the debug session will never hide its parent. If compact is true, debug sessions with a single child are hidden in the CALL STACK view to make the tree more compact.
控制台模式?:调试控制台模式
Controls whether this session should have a separate debug console or share it with the parent session. Has no effect for sessions which do not have a parent session. Defaults to Separate.
Controls whether lifecycle requests like 'restart' are sent to the newly created session or its parent session. By default (if the property is false or missing), lifecycle requests are sent to the new session. This property is ignored if the session has no parent session.
Controls whether this session should run without debugging, thus ignoring breakpoints. When this property is not specified, the value from the parent session (if there is one) is used.
父会话?: 调试会话
When specified the newly created debug session is registered as a "child" session of this "parent" debug session.
When true, the window statusbar color will not be changed for this session.
When true, the debug toolbar will not be shown for this session.
When true, the debug viewlet will not be automatically revealed for this session.
When true, a save will not be triggered for open editors when starting a debug session, regardless of the value of the debug.saveBeforeStart setting.
测试运行?:测试运行
Signals to the editor that the debug session was started from a test run request. This is used to link the lifecycle of the debug session and test run in UI actions.
调试堆栈框架
表示调试会话中的堆栈框架。
属性
ID of the stack frame in the debug protocol.
会话:调试会话
Debug session for thread.
ID of the associated thread in the debug protocol.
调试线程
表示调试会话中的一个线程。
属性
会话:调试会话
Debug session for thread.
ID of the associated thread in the debug protocol.
声明
声明覆盖
包含声明的覆盖信息。根据报告者和语言,这可能是函数、方法或命名空间等类型。
构造函数
新的 DeclarationCoverage(名称: 字符串, 已执行: 数字 | 布尔值, 位置: 范围 | 位置): DeclarationCoverage
| Parameter | Description |
|---|---|
| name: string | |
| executed: number | boolean | The number of times this declaration was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the declaration will be marked as un-covered. |
| location: Range | Position | The declaration position. |
| Returns | Description |
| DeclarationCoverage |
属性
The number of times this declaration was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the declaration will be marked as un-covered.
Declaration location.
Name of the declaration.
声明提供者
声明提供者接口定义了扩展和“转到声明”功能之间的合同。
方法
提供声明(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<声明>
Provide the declaration of the symbol at the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Declaration> | A declaration or a thenable that resolves to such. The lack of a result can be
signaled by returning |
装饰实例渲染选项
代表装饰实例的渲染选项。见DecorationOptions.renderOptions。
属性
之后?:可主题化装饰附件渲染选项
Defines the rendering options of the attachment that is inserted after the decorated text.
之前?: 可主题化装饰附加渲染选项
Defines the rendering options of the attachment that is inserted before the decorated text.
暗?:可主题化装饰实例渲染选项
Overwrite options for dark themes.
光?:可主题装饰实例渲染选项
Overwrite options for light themes.
装饰选项
代表在装饰集合中特定装饰的选项。
属性
悬停消息?: Markdown字符串 | 标记字符串 | 数组<Markdown字符串 | 标记字符串>
A message that should be rendered when hovering over the decoration.
范围:范围
Range to which this decoration is applied. The range must not be empty.
渲染选项?:装饰实例渲染选项
Render options applied to the current decoration. For performance reasons, keep the number of decoration specific options small, and use decoration types wherever possible.
装饰范围行为
描述在装饰物边缘输入/编辑时的行为。
枚举成员
The decoration's range will widen when edits occur at the start or end.
The decoration's range will not widen when edits occur at the start or end.
The decoration's range will widen when edits occur at the start, but not at the end.
The decoration's range will widen when edits occur at the end, but not at the start.
装饰渲染选项
表示用于文本编辑器装饰的渲染样式。
属性
之后?:可主题化装饰附件渲染选项
Defines the rendering options of the attachment that is inserted after the decorated text.
backgroundColor?:字符串 | ThemeColor
Background color of the decoration. Use rgba() and define transparent background colors to play well with other decorations. Alternatively a color from the color registry can be referenced.
之前?: 可主题化装饰附加渲染选项
Defines the rendering options of the attachment that is inserted before the decorated text.
CSS styling property that will be applied to text enclosed by a decoration.
边框颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
暗色?:可主题化装饰渲染选项
Overwrite options for dark themes.
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
gutterIconPath?:字符串 | Uri
An absolute path or an URI to an image to be rendered in the gutter.
Specifies the size of the gutter icon. Available values are 'auto', 'contain', 'cover' and any percentage value. For further information: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx
Should the decoration be rendered also on the whitespace after the line text.
Defaults to false.
CSS styling property that will be applied to text enclosed by a decoration.
光?: 可定制装饰渲染选项
Overwrite options for light themes.
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
轮廓颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
概览刻度颜色?:字符串 | 主题颜色
The color of the decoration in the overview ruler. Use rgba() and define transparent colors to play well with other decorations.
概览刻度栏?:概览刻度栏
The position in the overview ruler where the decoration should be rendered.
范围行为?:装饰范围行为
Customize the growing behavior of the decoration when edits occur at the edges of the decoration's range.
Defaults to DecorationRangeBehavior.OpenOpen.
CSS styling property that will be applied to text enclosed by a decoration.
定义
一个符号被表示为一个或多个位置。 对于大多数编程语言,符号只在唯一的一个位置被定义。
定义链接
关于符号定义位置的信息。
提供额外的元数据,超过正常 位置 定义,包括定义符号的范围
定义链接:位置链接
定义提供者
定义提供者接口定义了扩展与转到定义 和预览定义功能之间的合同。
方法
提供定义(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<定义 | 位置链接[]>
Provide the definition of the symbol at the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Definition | LocationLink[]> | A definition or a thenable that resolves to such. The lack of a result can be
signaled by returning |
诊断
表示诊断信息,例如编译器错误或警告。诊断对象仅在文件的作用域内有效。
构造函数
新的诊断(范围: 范围, 消息: 字符串, 严重性?: 诊断严重性): 诊断
Creates a new diagnostic object.
| Parameter | Description |
|---|---|
| range: Range | The range to which this diagnostic applies. |
| message: string | The human-readable message. |
| severity?: DiagnosticSeverity | The severity, default is error. |
| Returns | Description |
| Diagnostic |
属性
代码?: 字符串 | 数字 | {目标: Uri, 值: 字符串 | 数字}
A code or identifier for this diagnostic. Should be used for later processing, e.g. when providing code actions.
The human-readable message.
范围:范围
The range to which this diagnostic applies.
相关信息?:诊断相关信息[]
An array of related diagnostic information, e.g. when symbol-names within a scope collide all definitions can be marked via this property.
严重性:诊断严重性
The severity, default is error.
A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'.
Tab?:诊断标签[]
Additional metadata about the diagnostic.
诊断变更事件
诊断更改时触发的事件。
属性
uris:只读Uri:
An array of resources for which diagnostics have changed.
诊断收集
属性
The name of this diagnostic collection, for instance typescript. Every diagnostic
from this collection will be associated with this name. Also, the task framework uses this
name when defining problem matchers.
方法
Remove all diagnostics from this collection. The same
as calling #set(undefined);
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
删除(uri:Uri):无
Remove all diagnostics from this collection that belong
to the provided uri. The same as #set(uri, undefined).
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| Returns | Description |
| void |
Dispose and free associated resources. Calls clear.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
forEach(回调函数: (uri: Uri, diagnostics: 只读 Diagnostic[], collection: DiagnosticCollection) => any, thisArg?: any): void
Iterate over each entry in this collection.
| Parameter | Description |
|---|---|
| callback: (uri: Uri, diagnostics: readonly Diagnostic[], collection: DiagnosticCollection) => any | Function to execute for each entry. |
| thisArg?: any | The |
| Returns | Description |
| void |
获取(uri: Uri): 只读 Diagnostic[]
Get the diagnostics for a given resource. Note that you cannot modify the diagnostics-array returned from this call.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| Returns | Description |
| readonly Diagnostic[] | An immutable array of diagnostics or |
有(uri: Uri): 布尔值
Check if this collection contains diagnostics for a given resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| Returns | Description |
| boolean |
|
设置(uri: Uri, 诊断信息: 只读 Diagnostic[]): 无返回值
Assign diagnostics for given resource. Will replace existing diagnostics for that resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| diagnostics: readonly Diagnostic[] | Array of diagnostics or |
| Returns | Description |
| void |
设置(条目: ReadonlyArray<[Uri, readonly Diagnostic[]]>): 无返回值
Replace diagnostics for multiple resources in this collection.
Note that multiple tuples of the same uri will be merged, e.g
[[file1, [d1]], [file1, [d2]]] is equivalent to [[file1, [d1, d2]]].
If a diagnostics item is undefined as in [file1, undefined]
all previous but not subsequent diagnostics are removed.
| Parameter | Description |
|---|---|
| entries: ReadonlyArray<[Uri, readonly Diagnostic[]]> | An array of tuples, like |
| Returns | Description |
| void |
诊断相关信息
表示诊断相关的消息和源代码位置。这应该用于指向导致或与诊断相关的代码位置,例如在作用域中重复符号时。
构造函数
新的诊断相关信息(位置: 位置, 消息: 字符串): 诊断相关信息
Creates a new related diagnostic information object.
| Parameter | Description |
|---|---|
| location: Location | The location. |
| message: string | The message. |
| Returns | Description |
| DiagnosticRelatedInformation |
属性
位置:位置
The location of this related diagnostic information.
The message of this related diagnostic information.
诊断严重程度
表示诊断的严重性。
枚举成员
Something not allowed by the rules of a language or other means.
Something suspicious but allowed.
Something to inform about but not a problem.
Something to hint to a better way of doing it, like proposing a refactoring.
诊断标签
关于诊断类型的附加元数据。
枚举成员
Unused or unnecessary code.
Diagnostics with this tag are rendered faded out. The amount of fading
is controlled by the "editorUnnecessaryCode.opacity" theme color. For
example, "editorUnnecessaryCode.opacity": "#000000c0" will render the
code with 75% opacity. For high contrast themes, use the
"editorUnnecessaryCode.border" theme color to underline unnecessary code
instead of fading it out.
Deprecated or obsolete code.
Diagnostics with this tag are rendered with a strike through.
一次性
表示可以释放资源的类型,例如事件监听或计时器。
静态
从(...一次性喜欢: 数组<{处理: () => 任何}>): 一次性
Combine many disposable-likes into one. You can use this method when having objects with
a dispose function which aren't instances of Disposable.
| Parameter | Description |
|---|---|
| ...disposableLikes: Array<{dispose: () => any}> | Objects that have at least a |
| Returns | Description |
| Disposable | Returns a new disposable which, upon dispose, will dispose all provided disposables. |
构造函数
新的Disposable(在 dispose 时调用: () => 任何): Disposable
Creates a new disposable that calls the provided function on dispose.
Note that an asynchronous function is not awaited.
| Parameter | Description |
|---|---|
| callOnDispose: () => any | Function that disposes something. |
| Returns | Description |
| Disposable |
方法
Dispose this object.
| Parameter | Description |
|---|---|
| Returns | Description |
| any |
文档颜色提供者
文档颜色提供者定义了扩展和编辑器中颜色选择和修改功能之间的合同。
方法
提供颜色展示(颜色: Color, 上下文: {文档: 文本文档, 范围: 范围}, 令牌: 取消令牌): 提供者结果<颜色展示[]>
Provide representations for a color.
| Parameter | Description |
|---|---|
| color: Color | The color to show and insert. |
| context: {document: TextDocument, range: Range} | A context object with additional information |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<ColorPresentation[]> | An array of color presentations or a thenable that resolves to such. The lack of a result
can be signaled by returning |
提供文档颜色(文档: 文本文档, 令牌: 取消令牌): 提供者结果<颜色信息[]>
Provide colors for the given document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<ColorInformation[]> | An array of color information or a thenable that resolves to such. The lack of a result
can be signaled by returning |
文档拖放编辑
应用了编辑操作在拖放时。
构造函数
新的DocumentDropEdit(插入文本:字符串 | 片段字符串,标题?:字符串,类型?:DocumentDropOrPasteEditKind):DocumentDropEdit
| Parameter | Description |
|---|---|
| insertText: string | SnippetString | The text or snippet to insert at the drop location. |
| title?: string | Human readable label that describes the edit. |
| kind?: DocumentDropOrPasteEditKind | Kind of the edit. |
| Returns | Description |
| DocumentDropEdit |
属性
附加编辑?:工作区编辑
An optional additional edit to apply on drop.
插入文本:字符串 | 片段字符串
The text or snippet to insert at the drop location.
种类?:文档拖放或粘贴编辑种类
Kind of the edit.
Human readable label that describes the edit.
让步到?:只读DocumentDropOrPasteEditKind[]{}
Controls the ordering or multiple edits. If this provider yield to edits, it will be shown lower in the list.
文档拖放编辑提供者<T>
将资源拖放到文本编辑器中的提供者。
这允许用户将资源(包括来自外部应用程序的资源)拖放到编辑器中。在拖放文件时,用户可以按住shift以将文件放入编辑器中而不是打开它。
需要editor.dropIntoEditor.enabled处于开启状态。
方法
提供文档更改编辑(文档: 文本文档, 位置: 位置, 数据传输: 数据传输, 令牌: 取消令牌): 提供者结果< T | T []>
Provide edits which inserts the content being dragged and dropped into the document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the drop occurred. |
| position: Position | The position in the document where the drop occurred. |
| dataTransfer: DataTransfer | A DataTransfer object that holds data about what is being dragged and dropped. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T | T[]> | A DocumentDropEdit or a thenable that resolves to such. The lack of a result can be
signaled by returning |
解决文档拖放编辑(编辑: T, 令牌: CancellationToken): ProviderResult<T>
Optional method which fills in the DocumentDropEdit.additionalEdit before the edit is applied.
This is called once per edit and should be used if generating the complete edit may take a long time. Resolve can only be used to change DocumentDropEdit.additionalEdit.
| Parameter | Description |
|---|---|
| edit: T | The DocumentDropEdit to resolve. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved edit or a thenable that resolves to such. It is OK to return the given
|
文档拖放编辑提供者元数据
提供了有关DocumentDropEditProvider如何工作的附加元数据。
属性
List of DataTransfer mime types that the provider can handle.
This can either be an exact mime type such as image/png, or a wildcard pattern such as image/*.
Use text/uri-list for resources dropped from the explorer or other tree views in the workbench.
Use files to indicate that the provider should be invoked if any files are present in the DataTransfer.
Note that DataTransferFile entries are only created when dropping content from outside the editor, such as
from the operating system.
提供的拖放编辑类型?:只读 DocumentDropOrPasteEditKind[]
List of kinds that the provider may return in provideDocumentDropEdits.
This is used to filter out providers when a specific kind of edit is requested.
文档拖放或粘贴编辑类型
静态
文本:文档粘贴或复制编辑类型
The root kind for basic text edits.
This kind should be used for edits that insert basic text into the document. A good example of this is
an edit that pastes the clipboard text while also updating imports in the file based on the pasted text.
For this we could use a kind such as text.updateImports.someLanguageId.
Even though most drop/paste edits ultimately insert text, you should not use Text as the base kind
for every edit as this is redundant. Instead a more specific kind that describes the type of content being
inserted should be used instead. For example, if the edit adds a Markdown link, use markdown.link since even
though the content being inserted is text, it's more important to know that the edit inserts Markdown syntax.
文本更新导入:文档拖放或粘贴编辑类型
Root kind for edits that update imports in a document in addition to inserting text.
构造函数
新的DocumentDropOrPasteEditKind(值:字符串):DocumentDropOrPasteEditKind
Use DocumentDropOrPasteEditKind.Empty instead.
| Parameter | Description |
|---|---|
| value: string | |
| Returns | Description |
| DocumentDropOrPasteEditKind |
属性
The raw string value of the kind.
方法
追加(...部分: 字符串[]): 文档粘贴或复制编辑类型
Create a new kind by appending additional scopes to the current kind.
Does not modify the current kind.
| Parameter | Description |
|---|---|
| ...parts: string[] | |
| Returns | Description |
| DocumentDropOrPasteEditKind |
包含(其他: DocumentDropOrPasteEditKind): 布尔值
Checks if other is a sub-kind of this DocumentDropOrPasteEditKind.
The kind "text.plain" for example contains "text.plain" and "text.plain.list",
but not "text" or "unicorn.text.plain".
| Parameter | Description |
|---|---|
| other: DocumentDropOrPasteEditKind | Kind to check. |
| Returns | Description |
| boolean |
相交(其他: DocumentDropOrPasteEditKind): 布尔值
Checks if this kind intersects other.
The kind "text.plain" for example intersects text, "text.plain" and "text.plain.list",
but not "unicorn", or "textUnicorn.plain".
| Parameter | Description |
|---|---|
| other: DocumentDropOrPasteEditKind | Kind to check. |
| Returns | Description |
| boolean |
文档过滤器
文档过滤器通过不同的属性来标识文档,例如语言、其资源的方案,或者应用于路径的通配符模式。
示例 一个适用于磁盘上的 typescript 文件的语言过滤器
{ language: 'typescript', scheme: 'file' }
示例 一种适用于所有 package.json 路径的语言过滤器
{ language: 'json', pattern: '**/package.json' }
属性
A language id, like typescript.
The type of a notebook, like jupyter-notebook. This allows
to narrow down on the type of a notebook that a cell document belongs to.
Note that setting the notebookType-property changes how scheme and pattern are interpreted. When set
they are evaluated against the notebook uri, not the document uri.
Example
Match python document inside jupyter notebook that aren't stored yet (untitled)
{ language: 'python', notebookType: 'jupyter-notebook', scheme: 'untitled' }
模式?:通配符模式
A glob pattern that is matched on the absolute path of the document. Use a relative pattern to filter documents to a workspace folder.
A Uri scheme, like file or untitled.
文档格式编辑提供者
文档格式化提供者接口定义了扩展和格式化功能之间的契约。
方法
提供文档格式编辑(文档: 文本文档, 选项: 格式化选项, 令牌: 取消令牌): 提供结果<文本编辑[]>
Provide formatting edits for a whole document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| options: FormattingOptions | Options controlling formatting. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TextEdit[]> | A set of text edits or a thenable that resolves to such. The lack of a result can be
signaled by returning |
文档高亮
文档高亮是一个文本文档中的范围,需要特别关注。通常,文档高亮通过更改其范围的背景颜色来可视化。
构造函数
新的文档高亮(范围: 范围, 类型?: 文档高亮类型): 文档高亮
Creates a new document highlight object.
| Parameter | Description |
|---|---|
| range: Range | The range the highlight applies to. |
| kind?: DocumentHighlightKind | The highlight kind, default is text. |
| Returns | Description |
| DocumentHighlight |
属性
种类?:文档高亮种类
The highlight kind, default is text.
范围:范围
The range this highlight applies to.
文档突出显示类型
文档高亮类型。
枚举成员
A textual occurrence.
Read-access of a symbol, like reading a variable.
Write-access of a symbol, like writing to a variable.
文档高亮提供者
文档高亮提供者接口定义了扩展与单词高亮功能之间的契约。
方法
提供文档高亮(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<文档高亮[]>
Provide a set of document highlights, like all occurrences of a variable or all exit-points of a function.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<DocumentHighlight[]> | An array of document highlights or a thenable that resolves to such. The lack of a result can be
signaled by returning |
文档链接
文档链接是文本文档中链接到内部或外部资源(如另一个文本文档或网站)的范围。
构造函数
新的DocumentLink(范围: Range,目标?: Uri): DocumentLink
Creates a new document link.
| Parameter | Description |
|---|---|
| range: Range | The range the document link applies to. Must not be empty. |
| target?: Uri | The uri the document link points to. |
| Returns | Description |
| DocumentLink |
属性
范围:范围
The range this link applies to.
目标?:Uri
The uri this link points to.
The tooltip text when you hover over this link.
If a tooltip is provided, is will be displayed in a string that includes instructions on how to
trigger the link, such as {0} (ctrl + click). The specific instructions vary depending on OS,
user settings, and localization.
文档链接提供者<T>
文档链接提供者定义了扩展和编辑器中显示链接的特性之间的合同。
方法
提供文档链接(文档: 文本文档, 令牌: 取消令牌): 提供者结果< T []
Provide links for the given document. Note that the editor ships with a default provider that detects
http(s) and file links.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | An array of document links or a thenable that resolves to such. The lack of a result
can be signaled by returning |
解决文档链接(链接: T, 令牌: CancellationToken): 提供者结果<T>
Given a link fill in its target. This method is called when an incomplete link is selected in the UI. Providers can implement this method and return incomplete links (without target) from the provideDocumentLinks method which often helps to improve performance.
| Parameter | Description |
|---|---|
| link: T | The link that is to be resolved. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> |
文档粘贴编辑
一个应用粘贴操作的编辑。
构造函数
新文档粘贴编辑(插入文本: 字符串 | 片段字符串, 标题: 字符串, 类型: 文档粘贴编辑类型): 文档粘贴编辑
Create a new paste edit.
| Parameter | Description |
|---|---|
| insertText: string | SnippetString | The text or snippet to insert at the pasted locations. |
| title: string | Human readable label that describes the edit. |
| kind: DocumentDropOrPasteEditKind | Kind of the edit. |
| Returns | Description |
| DocumentPasteEdit |
属性
附加编辑?:工作区编辑
An optional additional edit to apply on paste.
插入文本:字符串 | 片段字符串
The text or snippet to insert at the pasted locations.
If your edit requires more advanced insertion logic, set this to an empty string and provide an additional edit instead.
种类:文档拖放或粘贴编辑种类
Kind of the edit.
Human readable label that describes the edit.
让步到?:只读DocumentDropOrPasteEditKind[]{}
Controls ordering when multiple paste edits can potentially be applied.
If this edit yields to another, it will be shown lower in the list of possible paste edits shown to the user.
文档粘贴编辑上下文
有关粘贴操作的附加信息。
属性
Requested kind of paste edits to return.
When a explicit kind if requested by PasteAs, providers are encourage to be more flexible when generating an edit of the requested kind.
触发类型:文档粘贴触发类型
The reason why paste edits were requested.
文档粘贴编辑提供者<T>
当用户在文本文档中复制或粘贴时,提供者被调用。
方法
准备文档粘贴(文档: 文本文档, 范围: 只读 范围[], 数据传输: 数据传输, 令牌: 取消令牌): 无 | 然后可<无>
Optional method invoked after the user copies from a text editor.
This allows the provider to attach metadata about the copied text to the DataTransfer. This data transfer is then passed back to providers in provideDocumentPasteEdits.
Note that currently any changes to the DataTransfer are isolated to the current editor window. This means that any added metadata cannot be seen by other editor windows or by other applications.
| Parameter | Description |
|---|---|
| document: TextDocument | Text document where the copy took place. |
| ranges: readonly Range[] | Ranges being copied in document. |
| dataTransfer: DataTransfer | The data transfer associated with the copy. You can store additional values on this for later use in provideDocumentPasteEdits. This object is only valid for the duration of this method. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| void | Thenable<void> | Optional thenable that resolves when all changes to the |
提供文档粘贴编辑(文档: 文本文档, 范围: 只读 范围[], 数据传输: 数据传输, 上下文: 文档粘贴编辑上下文, 令牌: 取消令牌): 提供者结果< T []>
Invoked before the user pastes into a text editor.
Returned edits can replace the standard pasting behavior.
| Parameter | Description |
|---|---|
| document: TextDocument | Document being pasted into |
| ranges: readonly Range[] | Range in the document to paste into. |
| dataTransfer: DataTransfer | The data transfer associated with the paste. This object is only valid for the duration of the paste operation. |
| context: DocumentPasteEditContext | Additional context for the paste. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | Set of potential edits that can apply the paste. Only a single returned DocumentPasteEdit is applied at a time. If multiple edits are returned from all providers, then the first is automatically applied and a widget is shown that lets the user switch to the other edits. |
解决文档粘贴编辑(粘贴编辑: T, 令牌: CancellationToken): 提供者结果<T>
Optional method which fills in the DocumentPasteEdit.additionalEdit before the edit is applied.
This is called once per edit and should be used if generating the complete edit may take a long time. Resolve can only be used to change DocumentPasteEdit.insertText or DocumentPasteEdit.additionalEdit.
| Parameter | Description |
|---|---|
| pasteEdit: T | The DocumentPasteEdit to resolve. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved paste edit or a thenable that resolves to such. It is OK to return the given
|
文档粘贴提供者元数据
提供了有关DocumentPasteEditProvider如何工作的附加元数据。
属性
Mime types that prepareDocumentPaste may add on copy.
Mime types that provideDocumentPasteEdits should be invoked for.
This can either be an exact mime type such as image/png, or a wildcard pattern such as image/*.
Use text/uri-list for resources dropped from the explorer or other tree views in the workbench.
Use files to indicate that the provider should be invoked if any files are present in the DataTransfer.
Note that DataTransferFile entries are only created when pasting content from outside the editor, such as
from the operating system.
提供的粘贴编辑类型:只读 文档粘贴或粘贴编辑类型[]
List of kinds that the provider may return in provideDocumentPasteEdits.
This is used to filter out providers when a specific kind of edit is requested.
文档粘贴触发类型
请求粘贴编辑的原因。
枚举成员
Pasting was requested as part of a normal paste operation.
Pasting was requested by the user with the paste as command.
文档范围格式化编辑提供者
文档格式化提供者接口定义了扩展和格式化功能之间的契约。
方法
提供文档范围格式化编辑(文档: 文本文档, 范围: 范围, 选项: 格式化选项, 令牌: 取消令牌): 提供者结果<文本编辑[]>
Provide formatting edits for a range in a document.
The given range is a hint and providers can decide to format a smaller or larger range. Often this is done by adjusting the start and end of the range to full syntax nodes.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| range: Range | The range which should be formatted. |
| options: FormattingOptions | Options controlling formatting. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TextEdit[]> | A set of text edits or a thenable that resolves to such. The lack of a result can be
signaled by returning |
提供文档范围格式编辑(文档: 文本文档, 范围: 范围[], 选项: 格式化选项, 令牌: 取消令牌): 提供者结果<文本编辑[]>
Provide formatting edits for multiple ranges in a document.
This function is optional but allows a formatter to perform faster when formatting only modified ranges or when formatting a large number of selections.
The given ranges are hints and providers can decide to format a smaller or larger range. Often this is done by adjusting the start and end of the range to full syntax nodes.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| ranges: Range[] | The ranges which should be formatted. |
| options: FormattingOptions | Options controlling formatting. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TextEdit[]> | A set of text edits or a thenable that resolves to such. The lack of a result can be
signaled by returning |
文档范围语义标记提供者
文档范围语义标记提供程序接口定义了扩展和语义标记之间的合同。
事件
onDidChangeSemanticTokens?: 事件<无>
An optional event to signal that the semantic tokens from this provider have changed.
方法
提供文档范围语义标记(文档: 文本文档, 范围: 范围, 标记: 取消标记): 提供结果<语义标记>
See also provideDocumentSemanticTokens.
| Parameter | Description |
|---|---|
| document: TextDocument | |
| range: Range | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<SemanticTokens> |
文档选择器
语言选择器是语言标识符和语言过滤器的组合。
注意 一个只是语言识别的文档选择器选择所有 文档,即使那些没有保存在磁盘上的文档。只有在一个功能在没有进一步上下文的情况下工作时,例如不需要解析相关的'文件'时才使用这样的选择器。
示例
let sel: DocumentSelector = { scheme: 'file', language: 'typescript' };
文档选择器:文档过滤器 | 字符串 | 只读数组<文档过滤器 | 字符串>
文档语义令牌提供者
文档语义令牌提供程序接口定义了扩展和语义令牌之间的契约。
事件
onDidChangeSemanticTokens?: 事件<无>
An optional event to signal that the semantic tokens from this provider have changed.
方法
提供文档语义令牌(文档: 文本文档, 令牌: 取消令牌): 提供者结果<语义令牌>
Tokens in a file are represented as an array of integers. The position of each token is expressed relative to the token before it, because most tokens remain stable relative to each other when edits are made in a file.
In short, each token takes 5 integers to represent, so a specific token i in the file consists of the following array indices:
- at index
5*i-deltaLine: token line number, relative to the previous token - at index
5*i+1-deltaStart: token start character, relative to the previous token (relative to 0 or the previous token's start if they are on the same line) - at index
5*i+2-length: the length of the token. A token cannot be multiline. - at index
5*i+3-tokenType: will be looked up inSemanticTokensLegend.tokenTypes. We currently ask thattokenType< 65536. - at index
5*i+4-tokenModifiers: each set bit will be looked up inSemanticTokensLegend.tokenModifiers
How to encode tokens
Here is an example for encoding a file with 3 tokens in a uint32 array:
{ line: 2, startChar: 5, length: 3, tokenType: "property", tokenModifiers: ["private", "static"] },
{ line: 2, startChar: 10, length: 4, tokenType: "type", tokenModifiers: [] },
{ line: 5, startChar: 2, length: 7, tokenType: "class", tokenModifiers: [] }
- First of all, a legend must be devised. This legend must be provided up-front and capture all possible token types. For this example, we will choose the following legend which must be passed in when registering the provider:
tokenTypes: ['property', 'type', 'class'],
tokenModifiers: ['private', 'static']
- The first transformation step is to encode
tokenTypeandtokenModifiersas integers using the legend. Token types are looked up by index, so atokenTypevalue of1meanstokenTypes[1]. Multiple token modifiers can be set by using bit flags, so atokenModifiervalue of3is first viewed as binary0b00000011, which means[tokenModifiers[0], tokenModifiers[1]]because bits 0 and 1 are set. Using this legend, the tokens now are:
{ line: 2, startChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ line: 2, startChar: 10, length: 4, tokenType: 1, tokenModifiers: 0 },
{ line: 5, startChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- The next step is to represent each token relative to the previous token in the file. In this case, the second token
is on the same line as the first token, so the
startCharof the second token is made relative to thestartCharof the first token, so it will be10 - 5. The third token is on a different line than the second token, so thestartCharof the third token will not be altered:
{ deltaLine: 2, deltaStartChar: 5, length: 3, tokenType: 0, tokenModifiers: 3 },
{ deltaLine: 0, deltaStartChar: 5, length: 4, tokenType: 1, tokenModifiers: 0 },
{ deltaLine: 3, deltaStartChar: 2, length: 7, tokenType: 2, tokenModifiers: 0 }
- Finally, the last step is to inline each of the 5 fields for a token in a single array, which is a memory friendly representation:
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
See also SemanticTokensBuilder for a helper to encode tokens as integers. NOTE: When doing edits, it is possible that multiple edits occur until the editor decides to invoke the semantic tokens provider. NOTE: If the provider cannot temporarily compute semantic tokens, it can indicate this by throwing an error with the message 'Busy'.
| Parameter | Description |
|---|---|
| document: TextDocument | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<SemanticTokens> |
提供文档语义令牌编辑(文档: 文本文档, 先前结果ID: 字符串, 令牌: 取消令牌): 提供者结果<语义令牌 | 语义令牌编辑>
Instead of always returning all the tokens in a file, it is possible for a DocumentSemanticTokensProvider to implement
this method (provideDocumentSemanticTokensEdits) and then return incremental updates to the previously provided semantic tokens.
How tokens change when the document changes
Suppose that provideDocumentSemanticTokens has previously returned the following semantic tokens:
// 1st token, 2nd token, 3rd token
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
Also suppose that after some edits, the new semantic tokens in a file are:
// 1st token, 2nd token, 3rd token
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ]
It is possible to express these new tokens in terms of an edit applied to the previous tokens:
[ 2,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // old tokens
[ 3,5,3,0,3, 0,5,4,1,0, 3,2,7,2,0 ] // new tokens
edit: { start: 0, deleteCount: 1, data: [3] } // replace integer at offset 0 with 3
NOTE: If the provider cannot compute SemanticTokensEdits, it can "give up" and return all the tokens in the document again.
NOTE: All edits in SemanticTokensEdits contain indices in the old integers array, so they all refer to the previous result state.
| Parameter | Description |
|---|---|
| document: TextDocument | |
| previousResultId: string | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<SemanticTokens | SemanticTokensEdits> |
文档符号
表示在文档中出现的编程结构,如变量、类、接口等。文档符号可以是层次化的,并且它们有两个范围:一个包含其定义的范围,一个指向其最有趣的范围,例如标识符的范围。
构造函数
新的DocumentSymbol(名称: 字符串, 详细信息: 字符串, 类型: SymbolKind, 范围: Range, 选择范围: Range): DocumentSymbol
Creates a new document symbol.
| Parameter | Description |
|---|---|
| name: string | The name of the symbol. |
| detail: string | Details for the symbol. |
| kind: SymbolKind | The kind of the symbol. |
| range: Range | The full range of the symbol. |
| selectionRange: Range | The range that should be reveal. |
| Returns | Description |
| DocumentSymbol |
属性
儿童:文档符号[]{}
Children of this symbol, e.g. properties of a class.
More detail for this symbol, e.g. the signature of a function.
种类:SymbolKind
The kind of this symbol.
The name of this symbol.
范围:范围
The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
选择范围:范围
The range that should be selected and reveal when this symbol is being picked, e.g. the name of a function. Must be contained by the range.
Tab?:只读 SymbolTag[]{}
Tags for this symbol.
文档符号提供者
文档符号提供者接口定义了扩展与转到符号功能之间的合同。
方法
提供文档符号(文档: 文本文档, 令牌: 取消令牌): 提供者结果<文档符号[] | 符号信息[]>
Provide symbol information for the given document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<DocumentSymbol[] | SymbolInformation[]> | An array of document highlights or a thenable that resolves to such. The lack of a result can be
signaled by returning |
文档符号提供者元数据
关于文档符号提供者的元数据。
属性
A human-readable string that is shown when multiple outlines trees show for one document.
行尾
枚举成员
The line feed \n character.
The carriage return line feed \r\n sequence.
进入操作
描述了按 Enter 键时应执行的操作。
属性
Describes text to be appended after the new line and after the indentation.
缩进动作:缩进动作
Describe what to do with the indentation.
Describes the number of characters to remove from the new line's indentation.
环境变量集合
一个扩展可以应用于进程环境的突变集合。
属性
描述:字符串 | Markdown字符串
A description for the environment variable collection, this will be used to describe the changes in the UI.
Whether the collection should be cached for the workspace and applied to the terminal across window reloads. When true the collection will be active immediately such when the window reloads. Additionally, this API will return the cached version if it exists. The collection will be invalidated when the extension is uninstalled or when the collection is cleared. Defaults to true.
方法
追加(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Append a value to an environment variable.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to append to. |
| value: string | The value to append to the variable. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
Clears all mutators from this collection.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Deletes this collection's mutator for a variable.
| Parameter | Description |
|---|---|
| variable: string | The variable to delete the mutator for. |
| Returns | Description |
| void |
forEach(回调函数: (变量: 字符串, 修改器: 环境变量修改器, 集合: 环境变量集合) => 任何, thisArg?: 任何): 无
Iterate over each mutator in this collection.
| Parameter | Description |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | Function to execute for each entry. |
| thisArg?: any | The |
| Returns | Description |
| void |
获取(变量:字符串):环境变量突变器
Gets the mutator that this collection applies to a variable, if any.
| Parameter | Description |
|---|---|
| variable: string | The variable to get the mutator for. |
| Returns | Description |
| EnvironmentVariableMutator |
prepend(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Prepend a value to an environment variable.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to prepend. |
| value: string | The value to prepend to the variable. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
替换(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Replace an environment variable with a value.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to replace. |
| value: string | The value to replace the variable with. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
环境变量突变器
一种突变类型及其对环境变量的值。
属性
选项:环境变量突变选项
Options applied to the mutator.
类型:环境变量突变类型
The type of mutation that will occur to the variable.
The value to use for the variable.
环境变量突变器选项
选项已应用于突变器。
属性
Apply to the environment just before the process is created. Defaults to false.
Apply to the environment in the shell integration script. Note that this will not apply the mutator if shell integration is disabled or not working for some reason. Defaults to false.
环境变量突变类型
一种可以应用于环境变量的突变类型。
枚举成员
Replace the variable's existing value.
Append to the end of the variable's existing value.
Prepend to the start of the variable's existing value.
环境变量作用域
环境变量集合适用的作用域对象。
属性
工作区文件夹?: 工作区文件夹
Any specific workspace folder to get collection for.
可评估表达式
EvaluatableExpression 表示文档中可以由活动调试器或运行时评估的表达式。 此评估的结果显示在一个类似工具提示的控件中。 如果仅指定一个范围,表达式将从底层文档中提取。 可以使用可选的表达式来覆盖提取的表达式。 在这种情况下,范围仍然用于在文档中突出显示该范围。
构造函数
新的可评估表达式(范围: 范围, 表达式?: 字符串): 可评估表达式
Creates a new evaluatable expression object.
| Parameter | Description |
|---|---|
| range: Range | The range in the underlying document from which the evaluatable expression is extracted. |
| expression?: string | If specified overrides the extracted expression. |
| Returns | Description |
| EvaluatableExpression |
属性
If specified the expression overrides the extracted expression.
范围:范围
The range is used to extract the evaluatable expression from the underlying document and to highlight it.
可评估表达式提供者
可评估表达式提供程序接口定义了扩展与调试悬停之间的合同。在这个合同中,提供程序返回文档中给定位置的可评估表达式,编辑器在当前调试会话中评估此表达式,并在调试悬停中显示结果。
方法
提供可评估表达式(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<可评估表达式>
Provide an evaluatable expression for the given document and position. The editor will evaluate this expression in the active debug session and will show the result in the debug hover. The expression can be implicitly specified by the range in the underlying document or by explicitly returning an expression.
| Parameter | Description |
|---|---|
| document: TextDocument | The document for which the debug hover is about to appear. |
| position: Position | The line and character position in the document where the debug hover is about to appear. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<EvaluatableExpression> | An EvaluatableExpression or a thenable that resolves to such. The lack of a result can be
signaled by returning |
事件<T>
表示一个带类型事件。
一个通过传入监听器函数来订阅的事件函数。
示例
item.onDidChange(function(event) {
console.log('Event happened: ' + event);
});
(监听器: (事件: T) => 任何, 上下文?: 任何, 可 dispose 对象?: Disposable[]): Disposable
A function that represents an event to which you subscribe by calling it with a listener function as argument.
| Parameter | Description |
|---|---|
| listener: (e: T) => any | The listener function will be called when the event happens. |
| thisArgs?: any | The |
| disposables?: Disposable[] | An array to which a Disposable will be added. |
| Returns | Description |
| Disposable | A disposable which unsubscribes the event listener. |
事件发射器<T>
事件发射器可以用来创建和管理一个事件供他人订阅。一个发射器总是拥有一个事件。
如果您希望在扩展内部提供事件,例如TextDocumentContentProvider中,或者在向其他扩展提供API时使用此类。
构造函数
新的 EventEmitter<T>(): EventEmitter<T>
| Parameter | Description |
|---|---|
| Returns | Description |
| EventEmitter<T> |
属性
事件:事件<T>
The event listeners can subscribe to.
方法
Dispose this object and free resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Notify all subscribers of the event. Failure of one or more listener will not fail this function call.
| Parameter | Description |
|---|---|
| data: T | The event object. |
| Returns | Description |
| void |
扩展<T>
表示一个扩展。
要获取一个Extension的实例,请使用getExtension.
属性
The public API exported by this extension (return value of activate).
It is an invalid action to access this field before this extension has been activated.
扩展类型:扩展类型
The extension kind describes if an extension runs where the UI runs
or if an extension runs where the remote extension host runs. The extension kind
is defined in the package.json-file of extensions but can also be refined
via the remote.extensionKind-setting. When no remote extension host exists,
the value is ExtensionKind.UI.
The absolute file path of the directory containing this extension. Shorthand notation for Extension.extensionUri.fsPath (independent of the uri scheme).
扩展Uri:Uri
The uri of the directory containing the extension.
The canonical extension identifier in the form of: publisher.name.
true if the extension has been activated.
The parsed contents of the extension's package.json.
方法
Activates this extension and returns its public API.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<T> | A promise that will resolve when this extension has been activated. |
扩展上下文
扩展上下文是与扩展相关的实用工具集合。
一个实例作为第一个参数传递给ExtensionContext扩展的activate方法。
属性
环境变量集合:全局环境变量集合
Gets the extension's global environment variable collection for this workspace, enabling changes to be applied to terminal environment variables.
扩展:扩展<任何>
The current Extension instance.
扩展模式:扩展模式
The mode the extension is running in. See ExtensionMode for possible values and scenarios.
The absolute file path of the directory containing the extension. Shorthand notation for ExtensionContext.extensionUri.fsPath (independent of the uri scheme).
扩展Uri:Uri
The uri of the directory containing the extension.
全局状态:备忘录 & {设置同步密钥}
A memento object that stores state independent of the current opened workspace.
An absolute file path in which the extension can store global state. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.
Use globalState to store key value data.
- deprecated - Use globalStorageUri instead.
全局存储路径:路径
The uri of a directory in which the extension can store global state. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.
Use globalState to store key value data.
See also workspace.fs for how to read and write files and folders from an uri.
语言模型访问信息:语言模型访问信息
An object that keeps information about how this extension can use language models.
See also LanguageModelChat.sendRequest
An absolute file path of a directory in which the extension can create log files. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.
- deprecated - Use logUri instead.
日志uri:uri
The uri of a directory in which the extension can create log files. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.
See also workspace.fs for how to read and write files and folders from an uri.
秘密:秘密存储
A secret storage object that stores state independent of the current opened workspace.
An absolute file path of a workspace specific directory in which the extension can store private state. The directory might not exist on disk and creation is up to the extension. However, the parent directory is guaranteed to be existent.
Use workspaceState or globalState to store key value data.
- deprecated - Use storageUri instead.
存储Uri:Uri
The uri of a workspace specific directory in which the extension
can store private state. The directory might not exist and creation is
up to the extension. However, the parent directory is guaranteed to be existent.
The value is undefined when no workspace nor folder has been opened.
Use workspaceState or globalState to store key value data.
See also workspace.fs for how to read and write files and folders from a uri.
An array to which disposables can be added. When this extension is deactivated the disposables will be disposed.
Note that asynchronous dispose-functions aren't awaited.
工作区状态:备忘录
A memento object that stores state in the context of the currently opened workspace.
方法
asAbsolutePath(relativePath: 字符串): 字符串
Get the absolute path of a resource contained in the extension.
Note that an absolute uri can be constructed via Uri.joinPath and
extensionUri, e.g. vscode.Uri.joinPath(context.extensionUri, relativePath);
| Parameter | Description |
|---|---|
| relativePath: string | A relative path to a resource contained in the extension. |
| Returns | Description |
| string | The absolute path of the resource. |
扩展类型
在远程Windows中,扩展类型描述了扩展是在UI(Windows)运行的地方运行,还是在远程位置运行。
枚举成员
Extension runs where the UI runs.
Extension runs where the remote extension host runs.
扩展模式
扩展模式在ExtensionContext上提供,并指示特定扩展正在运行的模式。
枚举成员
The extension is installed normally (for example, from the marketplace or VSIX) in the editor.
The extension is running from an --extensionDevelopmentPath provided
when launching the editor.
The extension is running from an --extensionTestsPath and
the extension host is running unit tests.
扩展终端选项
描述虚拟进程终端应使用的选项的值对象。
属性
颜色?:主题颜色
The icon ThemeColor for the terminal.
The standard terminal.ansi* theme keys are
recommended for the best contrast and consistency across themes.
图标路径?: 图标路径
The icon path or ThemeIcon for the terminal.
Opt-out of the default terminal persistence on restart and reload.
This will only take effect when terminal.integrated.enablePersistentSessions is enabled.
位置?:终端编辑器位置选项 | 终端拆分位置选项 | 终端位置
The TerminalLocation or TerminalEditorLocationOptions or TerminalSplitLocationOptions for the terminal.
A human-readable string which will be used to represent the terminal in the UI.
An implementation of Pseudoterminal that allows an extension to control a terminal.
The nonce to use to verify shell integration sequences are coming from a trusted source. An example impact of UX of this is if the command line is reported with a nonce, it will not need to verify with the user that the command line is correct before rerunning it via the shell integration command decoration.
This should be used if the terminal includes custom shell integration support. It should be set to a random GUID. Inside the Pseudoterminal implementation, this value can be passed through in the relevant sequences to make them trusted.
文件更改事件
事件文件系统提供者必须使用的信号文件更改的机制。
属性
类型:文件更改类型
The type of change.
uri:Uri
The uri of the file that has changed.
文件更改类型
文件更改类型的枚举。
枚举成员
The contents or metadata of a file have changed.
A file has been created.
A file has been deleted.
文件覆盖
包含文件的覆盖元数据。
静态
从详细信息(uri: Uri, 详细信息: 只读 文件覆盖详细信息[]): 文件覆盖
Creates a FileCoverage instance with counts filled in from the coverage details.
| Parameter | Description |
|---|---|
| uri: Uri | Covered file URI |
| details: readonly FileCoverageDetail[] | Detailed coverage information |
| Returns | Description |
| FileCoverage |
构造函数
新的文件覆盖率(uri: Uri, 语句覆盖率: 测试覆盖率计数, 分支覆盖率?: 测试覆盖率计数, 声明覆盖率?: 测试覆盖率计数, 包含测试?: 测试项[]): 文件覆盖率
| Parameter | Description |
|---|---|
| uri: Uri | Covered file URI |
| statementCoverage: TestCoverageCount | Statement coverage information. If the reporter does not provide statement coverage information, this can instead be used to represent line coverage. |
| branchCoverage?: TestCoverageCount | Branch coverage information |
| declarationCoverage?: TestCoverageCount | Declaration coverage information |
| includesTests?: TestItem[] | Test cases included in this coverage report, see FileCoverage.includesTests |
| Returns | Description |
| FileCoverage |
属性
分支覆盖?:测试覆盖计数
Branch coverage information.
声明覆盖?:测试覆盖计数
Declaration coverage information. Depending on the reporter and language, this may be types such as functions, methods, or namespaces.
包括测试?: 测试项目[]
A list of test cases that generated coverage in this file. If set, then TestRunProfile.loadDetailedCoverageForTest should also be defined in order to retrieve detailed coverage information.
语句覆盖:测试覆盖计数
Statement coverage information. If the reporter does not provide statement coverage information, this can instead be used to represent line coverage.
uri:Uri
File URI.
文件覆盖详细信息
覆盖细节从 TestRunProfile.loadDetailedCoverage返回。
文件创建事件
在文件创建后触发的事件。
属性
文件:只读Uri[]{}
The files that got created.
文件装饰
文件装饰表示可以与文件一起呈现的元数据。
构造函数
新的文件装饰(徽章?: 字符串, 工具提示?: 字符串, 颜色?: 主题颜色): 文件装饰
Creates a new decoration.
| Parameter | Description |
|---|---|
| badge?: string | A letter that represents the decoration. |
| tooltip?: string | The tooltip of the decoration. |
| color?: ThemeColor | The color of the decoration. |
| Returns | Description |
| FileDecoration |
属性
A very short string that represents this decoration.
颜色?:主题颜色
The color of this decoration.
A flag expressing that this decoration should be propagated to its parents.
A human-readable tooltip for this decoration.
文件装饰提供者
装饰提供者接口定义了扩展和文件装饰之间的合同。
事件
onDidChangeFileDecorations?: Event<Uri | Uri[]>
An optional event to signal that decorations for one or many files have changed.
Note that this event should be used to propagate information about children.
See also EventEmitter
方法
提供文件装饰(uri: Uri, 令牌: CancellationToken): 提供者结果<文件装饰>
Provide decorations for a given uri.
Note that this function is only called when a file gets rendered in the UI. This means a decoration from a descendent that propagates upwards must be signaled to the editor via the onDidChangeFileDecorations-event.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file to provide a decoration for. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<FileDecoration> | A decoration or a thenable that resolves to such. |
文件删除事件
在文件被删除后触发的事件。
属性
文件:只读Uri[]{}
The files that got deleted.
文件权限
文件权限。
枚举成员
The file is readonly.
Note: All FileStat from a FileSystemProvider that is registered with
the option isReadonly: true will be implicitly handled as if FilePermission.Readonly
is set. As a consequence, it is not possible to have a readonly file system provider
registered where some FileStat are not readonly.
文件重命名事件
在文件重命名后触发的事件。
属性
文件:ReadonlyArray<{newUri: Uri,oldUri: Uri}>
The files that got renamed.
文件状态
该FileStat-类型表示有关文件的元数据
属性
The creation timestamp in milliseconds elapsed since January 1, 1970 00:00:00 UTC.
The modification timestamp in milliseconds elapsed since January 1, 1970 00:00:00 UTC.
Note: If the file changed, it is important to provide an updated mtime that advanced
from the previous value. Otherwise there may be optimizations in place that will not show
the updated file contents in an editor for example.
权限?:文件权限
The permissions of the file, e.g. whether the file is readonly.
Note: This value might be a bitmask, e.g. FilePermission.Readonly | FilePermission.Other.
The size in bytes.
Note: If the file changed, it is important to provide an updated size. Otherwise there
may be optimizations in place that will not show the updated file contents in an editor for
example.
类型:文件类型
The type of the file, e.g. is a regular file, a directory, or symbolic link to a file.
Note: This value might be a bitmask, e.g. FileType.File | FileType.SymbolicLink.
文件系统
文件系统接口暴露了编辑器的内置和贡献的 文件系统提供者。它允许扩展与本地磁盘上的文件以及远程位置(如远程扩展主机或ftp服务器)上的文件一起工作。
注意,此接口的实例可用作 workspace.fs。
方法
复制(源: Uri, 目标: Uri, 选项?: {覆盖: 布尔值}): Thenable<无>
Copy files or folders.
创建目录(uri: Uri): Thenable<无>
Create a new directory (Note, that new files are created via write-calls).
Note that missing directories are created automatically, e.g this call has
mkdirp semantics.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the new folder. |
| Returns | Description |
| Thenable<void> |
删除(uri: Uri, 选项?: {递归: 布尔值, 使用垃圾桶: 布尔值}): Thenable<无>
Delete a file.
| Parameter | Description |
|---|---|
| uri: Uri | The resource that is to be deleted. |
| options?: {recursive: boolean, useTrash: boolean} | Defines if trash can should be used and if deletion of folders is recursive |
| Returns | Description |
| Thenable<void> |
Check if a given file system supports writing files.
Keep in mind that just because a file system supports writing, that does not mean that writes will always succeed. There may be permissions issues or other errors that prevent writing a file.
| Parameter | Description |
|---|---|
| scheme: string | The scheme of the filesystem, for example |
| Returns | Description |
| boolean |
|
读取目录(uri: Uri): Thenable<Array<[字符串, 文件类型]>>
Retrieve all entries of a directory.
读取文件(uri: Uri): Thenable<Uint8Array>
Read the entire contents of a file.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file. |
| Returns | Description |
| Thenable<Uint8Array> | An array of bytes or a thenable that resolves to such. |
重命名(源: Uri, 目标: Uri, 选项?: {覆盖: 布尔值}): Thenable<无>
Rename a file or folder.
统计(uri: Uri): Thenable<FileStat>
Retrieve metadata about a file.
writeFile(uri: Uri, content: Uint8Array): Thenable<void>
Write data to a file, replacing its entire contents.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file. |
| content: Uint8Array | The new content of the file. |
| Returns | Description |
| Thenable<void> |
文件系统错误
文件系统提供者应使用的错误信号类型。
这个类提供了常见的错误情况的工厂方法,例如FileNotFound当文件或文件夹不存在时,可以这样使用它们:throw vscode.FileSystemError.FileNotFound(someUri);
静态
文件已存在(消息或Uri?: 字符串 | Uri): 文件系统错误
Create an error to signal that a file or folder already exists, e.g. when creating but not overwriting a file.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
文件是一个目录(消息或Uri?: 字符串 | Uri): 文件系统错误
Create an error to signal that a file is a folder.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
文件不是目录(消息或Uri?: 字符串 | Uri): 文件系统错误
Create an error to signal that a file is not a folder.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
文件未找到(消息或URI?: 字符串 | URI): 文件系统错误
Create an error to signal that a file or folder wasn't found.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
没有权限(消息或Uri?: 字符串 | Uri): 文件系统错误
Create an error to signal that an operation lacks required permissions.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
不可用(消息或URI?: 字符串 | URI): 文件系统错误
Create an error to signal that the file system is unavailable or too busy to complete a request.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
构造函数
新的FileSystemError(消息或uri?: 字符串 | Uri): FileSystemError
Creates a new filesystem error.
| Parameter | Description |
|---|---|
| messageOrUri?: string | Uri | Message or uri. |
| Returns | Description |
| FileSystemError |
属性
A code that identifies this error.
Possible values are names of errors, like FileNotFound,
or Unknown for unspecified errors.
文件系统提供程序
文件系统提供者定义了编辑器需要读取、写入、发现和管理文件和文件夹的内容。它允许扩展从远程位置(如ftp服务器)提供文件,并将这些文件无缝集成到编辑器中。
事件
An event to signal that a resource has been created, changed, or deleted. This event should fire for resources that are being watched by clients of this provider.
Note: It is important that the metadata of the file that changed provides an
updated mtime that advanced from the previous value in the stat and a
correct size value. Otherwise there may be optimizations in place that will not show
the change in an editor for example.
方法
复制(源: Uri, 目标: Uri, 选项: {覆盖: 布尔值}): 无 | Thenable<无>
Copy files or folders. Implementing this function is optional but it will speedup the copy operation.
- throws - FileNotFound when
sourcedoesn't exist.
- throws - FileNotFound when parent of
destinationdoesn't exist, e.g. no mkdirp-logic required.
- throws - FileExists when
destinationexists and when theoverwriteoption is nottrue.
- throws - NoPermissions when permissions aren't sufficient.
创建目录(uri: Uri): 无返回值 | Thenable<无返回值>
Create a new directory (Note, that new files are created via write-calls).
- throws - FileNotFound when the parent of
uridoesn't exist, e.g. no mkdirp-logic required.
- throws - FileExists when
urialready exists.
- throws - NoPermissions when permissions aren't sufficient.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the new folder. |
| Returns | Description |
| void | Thenable<void> |
删除(uri: Uri, 选项: {递归: 布尔值}): 无 | Thenable<无>
Delete a file.
- throws - FileNotFound when
uridoesn't exist.
- throws - NoPermissions when permissions aren't sufficient.
| Parameter | Description |
|---|---|
| uri: Uri | The resource that is to be deleted. |
| options: {recursive: boolean} | Defines if deletion of folders is recursive. |
| Returns | Description |
| void | Thenable<void> |
读取目录(uri: Uri): 数组<[字符串, 文件类型]> | 可承诺<数组<[字符串, 文件类型]>>
Retrieve all entries of a directory.
- throws - FileNotFound when
uridoesn't exist.
读取文件(uri: Uri): Uint8Array | Thenable<Uint8Array>
Read the entire contents of a file.
- throws - FileNotFound when
uridoesn't exist.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file. |
| Returns | Description |
| Uint8Array | Thenable<Uint8Array> | An array of bytes or a thenable that resolves to such. |
重命名(旧uri: uri, 新uri: uri, 选项: {覆盖: 布尔值}): 无 | Thenable<无>
Rename a file or folder.
- throws - FileNotFound when
oldUridoesn't exist.
- throws - FileNotFound when parent of
newUridoesn't exist, e.g. no mkdirp-logic required.
- throws - FileExists when
newUriexists and when theoverwriteoption is nottrue.
- throws - NoPermissions when permissions aren't sufficient.
stat(uri: Uri): FileStat | Thenable<FileStat>
Retrieve metadata about a file.
Note that the metadata for symbolic links should be the metadata of the file they refer to.
Still, the SymbolicLink-type must be used in addition to the actual type, e.g.
FileType.SymbolicLink | FileType.Directory.
- throws - FileNotFound when
uridoesn't exist.
watch(uri: Uri, options: {excludes: readonly string[], recursive: boolean}): Disposable
Subscribes to file change events in the file or folder denoted by uri. For folders,
the option recursive indicates whether subfolders, sub-subfolders, etc. should
be watched for file changes as well. With recursive: false, only changes to the
files that are direct children of the folder should trigger an event.
The excludes array is used to indicate paths that should be excluded from file
watching. It is typically derived from the files.watcherExclude setting that
is configurable by the user. Each entry can be be:
- the absolute path to exclude
- a relative path to exclude (for example
build/output) - a simple glob pattern (for example
**/build,output/**)
Note that case-sensitivity of the excludes patterns for built-in file system providers will depend on the underlying file system: on Windows and macOS the matching will be case-insensitive and on Linux it will be case-sensitive.
It is the file system provider's job to call onDidChangeFile for every change given these rules. No event should be emitted for files that match any of the provided excludes.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file or folder to be watched. |
| options: {excludes: readonly string[], recursive: boolean} | Configures the watch. |
| Returns | Description |
| Disposable | A disposable that tells the provider to stop watching the |
writeFile(uri: Uri, content: Uint8Array, options: {create: boolean, overwrite: boolean}): void | Thenable<void>
Write data to a file, replacing its entire contents.
- throws - FileNotFound when
uridoesn't exist andcreateis not set.
- throws - FileNotFound when the parent of
uridoesn't exist andcreateis set, e.g. no mkdirp-logic required.
- throws - FileExists when
urialready exists,createis set butoverwriteis not set.
- throws - NoPermissions when permissions aren't sufficient.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file. |
| content: Uint8Array | The new content of the file. |
| options: {create: boolean, overwrite: boolean} | Defines if missing files should or must be created. |
| Returns | Description |
| void | Thenable<void> |
文件系统监视器
文件系统观察者通知关于磁盘上文件和文件夹的更改FileSystemProviders。
获取一个FileSystemWatcher的实例
使用createFileSystemWatcher。
事件
An event which fires on file/folder change.
An event which fires on file/folder creation.
An event which fires on file/folder deletion.
属性
true if this file system watcher has been created such that it ignores change file system events.
true if this file system watcher has been created such that it ignores creation file system events.
true if this file system watcher has been created such that it ignores delete file system events.
方法
Dispose this object.
| Parameter | Description |
|---|---|
| Returns | Description |
| any |
文件类型
文件类型的枚举。类型File和Directory也可以是符号链接,在这种情况下使用FileType.File | FileType.SymbolicLink和
FileType.Directory | FileType.SymbolicLink。
枚举成员
The file type is unknown.
A regular file.
A directory.
A symbolic link to a file.
文件将创建事件
属性
文件:只读Uri[]{}
The files that are going to be created.
令牌:取消令牌
A cancellation token.
方法
等待直到(可承诺对象: Thenable<WorkspaceEdit>): 无
Allows to pause the event and to apply a workspace edit.
Note: This function can only be called during event dispatch and not in an asynchronous manner:
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Description |
|---|---|
| thenable: Thenable<WorkspaceEdit> | A thenable that delays saving. |
| Returns | Description |
| void |
Allows to pause the event until the provided thenable resolves.
Note: This function can only be called during event dispatch.
| Parameter | Description |
|---|---|
| thenable: Thenable<any> | A thenable that delays saving. |
| Returns | Description |
| void |
文件将被删除事件
属性
文件:只读Uri[]{}
The files that are going to be deleted.
令牌:取消令牌
A cancellation token.
方法
等待直到(可承诺对象: Thenable<WorkspaceEdit>): 无
Allows to pause the event and to apply a workspace edit.
Note: This function can only be called during event dispatch and not in an asynchronous manner:
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Description |
|---|---|
| thenable: Thenable<WorkspaceEdit> | A thenable that delays saving. |
| Returns | Description |
| void |
Allows to pause the event until the provided thenable resolves.
Note: This function can only be called during event dispatch.
| Parameter | Description |
|---|---|
| thenable: Thenable<any> | A thenable that delays saving. |
| Returns | Description |
| void |
文件将重命名事件
属性
文件:ReadonlyArray<{newUri: Uri,oldUri: Uri}>
The files that are going to be renamed.
令牌:取消令牌
A cancellation token.
方法
等待直到(可承诺对象: Thenable<WorkspaceEdit>): 无
Allows to pause the event and to apply a workspace edit.
Note: This function can only be called during event dispatch and not in an asynchronous manner:
workspace.onWillCreateFiles(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Description |
|---|---|
| thenable: Thenable<WorkspaceEdit> | A thenable that delays saving. |
| Returns | Description |
| void |
Allows to pause the event until the provided thenable resolves.
Note: This function can only be called during event dispatch.
| Parameter | Description |
|---|---|
| thenable: Thenable<any> | A thenable that delays saving. |
| Returns | Description |
| void |
折叠上下文
折叠上下文(供以后使用)
折叠范围
基于行的折叠范围。要有效,起始行和结束行必须大于零且小于文档中的行数。 无效的范围将被忽略。
构造函数
新的折叠范围(开始:数字,结束:数字,类型?:折叠范围类型):折叠范围
Creates a new folding range.
| Parameter | Description |
|---|---|
| start: number | The start line of the folded range. |
| end: number | The end line of the folded range. |
| kind?: FoldingRangeKind | The kind of the folding range. |
| Returns | Description |
| FoldingRange |
属性
The zero-based end line of the range to fold. The folded area ends with the line's last character. To be valid, the end must be zero or larger and smaller than the number of lines in the document.
种类?: 折叠范围种类
Describes the Kind of the folding range such as Comment or Region. The kind is used to categorize folding ranges and used by commands like 'Fold all comments'. See FoldingRangeKind for an enumeration of all kinds. If not set, the range is originated from a syntax element.
The zero-based start line of the range to fold. The folded area starts after the line's last character. To be valid, the end must be zero or larger and smaller than the number of lines in the document.
折叠范围类型
特定折叠范围类型的枚举。该类型是FoldingRange
的一个可选字段,用于区分特定的折叠范围,例如来自注释的范围。该类型被像
Fold all comments或Fold all regions这样的命令使用。
如果该范围没有设置类型,那么该范围是来自注释、导入或区域标记以外的语法元素。
枚举成员
Kind for folding range representing a comment.
Kind for folding range representing a import.
Kind for folding range representing regions originating from folding markers like #region and #endregion.
折叠范围提供者
折叠范围提供者接口定义了扩展与 折叠在编辑器中的合同。
事件
onDidChangeFoldingRanges?: 事件<无>
An optional event to signal that the folding ranges from this provider have changed.
方法
提供折叠范围(文档: 文本文档, 上下文: 折叠上下文, 令牌: 取消令牌): 提供者结果<折叠范围[]>
Returns a list of folding ranges or null and undefined if the provider does not want to participate or was cancelled.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| context: FoldingContext | Additional context information (for future use) |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<FoldingRange[]> |
格式化选项
描述选项格式化应使用的值对象。
属性
Prefer spaces over tabs.
Size of a tab in spaces.
函数断点
通过函数名指定的断点。
构造函数
new FunctionBreakpoint(函数名: 字符串, 启用?: 布尔值, 条件?: 字符串, 命中条件?: 字符串, 日志消息?: 字符串): FunctionBreakpoint
Create a new function breakpoint.
| Parameter | Description |
|---|---|
| functionName: string | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| Returns | Description |
| FunctionBreakpoint |
属性
An optional expression for conditional breakpoints.
Is breakpoint enabled.
The name of the function to which this breakpoint is attached.
An optional expression that controls how many hits of the breakpoint are ignored.
The unique ID of the breakpoint.
An optional message that gets logged when this breakpoint is hit. Embedded expressions within {} are interpolated by the debug adapter.
全局环境变量集合
一个扩展可以应用于进程环境的突变集合。适用于所有作用域。
属性
描述:字符串 | Markdown字符串
A description for the environment variable collection, this will be used to describe the changes in the UI.
Whether the collection should be cached for the workspace and applied to the terminal across window reloads. When true the collection will be active immediately such when the window reloads. Additionally, this API will return the cached version if it exists. The collection will be invalidated when the extension is uninstalled or when the collection is cleared. Defaults to true.
方法
追加(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Append a value to an environment variable.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to append to. |
| value: string | The value to append to the variable. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
Clears all mutators from this collection.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Deletes this collection's mutator for a variable.
| Parameter | Description |
|---|---|
| variable: string | The variable to delete the mutator for. |
| Returns | Description |
| void |
forEach(回调函数: (变量: 字符串, 修改器: 环境变量修改器, 集合: 环境变量集合) => 任何, thisArg?: 任何): 无
Iterate over each mutator in this collection.
| Parameter | Description |
|---|---|
| callback: (variable: string, mutator: EnvironmentVariableMutator, collection: EnvironmentVariableCollection) => any | Function to execute for each entry. |
| thisArg?: any | The |
| Returns | Description |
| void |
获取(变量:字符串):环境变量突变器
Gets the mutator that this collection applies to a variable, if any.
| Parameter | Description |
|---|---|
| variable: string | The variable to get the mutator for. |
| Returns | Description |
| EnvironmentVariableMutator |
Gets scope-specific environment variable collection for the extension. This enables alterations to terminal environment variables solely within the designated scope, and is applied in addition to (and after) the global collection.
Each object obtained through this method is isolated and does not impact objects for other scopes, including the global collection.
| Parameter | Description |
|---|---|
| scope: EnvironmentVariableScope | The scope to which the environment variable collection applies to. If a scope parameter is omitted, collection applicable to all relevant scopes for that parameter is returned. For instance, if the 'workspaceFolder' parameter is not specified, the collection that applies across all workspace folders will be returned. |
| Returns | Description |
| EnvironmentVariableCollection | Environment variable collection for the passed in scope. |
prepend(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Prepend a value to an environment variable.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to prepend. |
| value: string | The value to prepend to the variable. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
替换(变量: 字符串, 值: 字符串, 选项?: 环境变量突变选项): 无
Replace an environment variable with a value.
Note that an extension can only make a single change to any one variable, so this will overwrite any previous calls to replace, append or prepend.
| Parameter | Description |
|---|---|
| variable: string | The variable to replace. |
| value: string | The value to replace the variable with. |
| options?: EnvironmentVariableMutatorOptions | Options applied to the mutator, when no options are provided this will
default to |
| Returns | Description |
| void |
全球模式
用于匹配文件路径的文件通配符模式。这可以是一个通配符模式字符串
(像 **/*.{ts,js} 或 *.{ts,js}) 或一个 相对模式.
通配符可以有以下语法:
*匹配路径段中零个或多个字符?匹配路径段中的一个字符**匹配任意数量的路径段,包括零个{}分组条件 (例如**/*.{ts,js}匹配所有 TypeScript 和 JavaScript 文件)[]用于声明在路径段中匹配的一系列字符(例如,example.[0-9]匹配example.0,example.1,…)[!...]用于否定路径段中的字符范围以进行匹配 (例如,example.[!0-9]匹配example.a,example.b,但不匹配example.0)
注意:反斜杠(``)在 glob 模式中是不合法的。如果你有一个现有的文件路径需要匹配,请考虑使用相对模式支持,该支持会将任何反斜杠转换为斜杠。否则,在创建 glob 模式时,请确保将任何反斜杠转换为斜杠。
全局模式:字符串 | 相对模式
悬停
悬停表示符号或单词的附加信息。悬停以类似工具提示的控件显示。
构造函数
新的悬停(内容: Markdown字符串 | 标记字符串 | 数组<Markdown字符串 | 标记字符串>, 范围?: 范围): 悬停
Creates a new hover object.
| Parameter | Description |
|---|---|
| contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString> | The contents of the hover. |
| range?: Range | The range to which the hover applies. |
| Returns | Description |
| Hover |
属性
内容:数组<Markdown字符串 | 标记字符串>
The contents of this hover.
范围?:范围
The range to which this hover applies. When missing, the editor will use the range at the current position or the current position itself.
悬停提供者
悬停提供程序接口定义了扩展与悬停功能之间的合同。
方法
提供悬停信息(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<悬停信息>
Provide a hover for the given position and document. Multiple hovers at the same position will be merged by the editor. A hover can have a range which defaults to the word range at the position when omitted.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Hover> | A hover or a thenable that resolves to such. The lack of a result can be
signaled by returning |
图标路径
代表用户界面中的图标。这可以是uri,也可以是用于浅色和深色主题的单独uri, 或者是一个主题图标。
图标路径:Uri | {暗色:Uri,亮色:Uri} | 主题图标
实现提供者
实现提供者接口定义了扩展与“转到实现”功能之间的合同。
方法
提供实现(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<定义 | 位置链接[]>
Provide the implementations of the symbol at the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Definition | LocationLink[]> | A definition or a thenable that resolves to such. The lack of a result can be
signaled by returning |
缩进动作
描述了按 Enter 键时如何处理缩进。
枚举成员
Insert new line and copy the previous line's indentation.
Insert new line and indent once (relative to the previous line's indentation).
Insert two new lines:
- the first one indented which will hold the cursor
- the second one at the same indentation level
Insert new line and outdent once (relative to the previous line's indentation).
缩进规则
描述了一种语言的缩进规则。
属性
If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
If a line matches this pattern, then only the next line after it should be indented once.
If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
镶嵌提示
镶嵌提示信息。
构造函数
新的InlayHint(位置: Position, Tab: string | InlayHintLabelPart[], 种类?: InlayHintKind): InlayHint
Creates a new inlay hint.
| Parameter | Description |
|---|---|
| position: Position | The position of the hint. |
| label: string | InlayHintLabelPart[] | The label of the hint. |
| kind?: InlayHintKind | The kind of the hint. |
| Returns | Description |
| InlayHint |
属性
种类?:镶嵌提示种类
The kind of this hint. The inlay hint kind defines the appearance of this inlay hint.
Tab:字符串 | 镶嵌提示标签部分[]"
The label of this hint. A human readable string or an array of label parts.
Note that neither the string nor the label part can be empty.
Render padding before the hint. Padding will use the editor's background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.
Render padding after the hint. Padding will use the editor's background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.
位置:位置
The position of this hint.
文本编辑?:文本编辑[]
Optional text edits that are performed when accepting this inlay hint. The default gesture for accepting an inlay hint is the double click.
Note that edits are expected to change the document so that the inlay hint (or its nearest variant) is now part of the document and the inlay hint itself is now obsolete.
Note that this property can be set late during resolving of inlay hints.
工具提示?:字符串 | Markdown字符串
The tooltip text when you hover over this item.
Note that this property can be set late during resolving of inlay hints.
镶嵌提示类型
镶嵌提示种类。
内联提示的种类定义了它的外观,例如,相应的前景色和背景色被使用。
枚举成员
An inlay hint that is for a type annotation.
An inlay hint that is for a parameter.
镶嵌提示标签部分
嵌入式提示标签部分允许交互和组合嵌入式提示标签。
构造函数
新的InlayHintLabelPart(值:字符串):InlayHintLabelPart
Creates a new inlay hint label part.
| Parameter | Description |
|---|---|
| value: string | The value of the part. |
| Returns | Description |
| InlayHintLabelPart |
属性
命令?:命令
位置?:位置
An optional source code location that represents this label part.
The editor will use this location for the hover and for code navigation features: This part will become a clickable link that resolves to the definition of the symbol at the given location (not necessarily the location itself), it shows the hover that shows at the given location, and it shows a context menu with further code navigation commands.
Note that this property can be set late during resolving of inlay hints.
工具提示?:字符串 | Markdown字符串
The tooltip text when you hover over this label part.
Note that this property can be set late during resolving of inlay hints.
The value of this label part.
镶嵌提示提供者<T>
嵌入式提示提供者接口定义了扩展与嵌入式提示功能之间的合同。
事件
onDidChangeInlayHints?: 事件<无>
An optional event to signal that inlay hints from this provider have changed.
方法
提供内联提示(文档: 文本文档, 范围: 范围, 令牌: 取消令牌): 提供者结果< T []
Provide inlay hints for the given range and document.
Note that inlay hints that are not contained by the given range are ignored.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| range: Range | The range for which inlay hints should be computed. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | An array of inlay hints or a thenable that resolves to such. |
解决插入提示(提示: T, 令牌: CancellationToken): 提供者结果<T>
Given an inlay hint fill in tooltip, text edits, or complete label parts.
Note that the editor will resolve an inlay hint at most once.
| Parameter | Description |
|---|---|
| hint: T | An inlay hint. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved inlay hint or a thenable that resolves to such. It is OK to return the given |
内联完成上下文
提供有关内联完成请求的上下文信息。
属性
选定完成信息:选定完成信息
Provides information about the currently selected item in the autocomplete widget if it is visible.
If set, provided inline completions must extend the text of the selected item
and use the same range, otherwise they are not shown as preview.
As an example, if the document text is console. and the selected item is .log replacing the . in the document,
the inline completion must also replace . and start with .log, for example .log().
Inline completion providers are requested again whenever the selected item changes.
触发类型:内联完成触发类型
Describes how the inline completion was triggered.
内联完成项
内联完成项表示一个内联文本片段,该片段被提出以完成正在输入的文本。
另见 InlineCompletionItemProvider.provideInlineCompletionItems
构造函数
新的内联完成项(插入文本:字符串 | 片段字符串,范围?: 范围,命令?: 命令): 内联完成项
Creates a new inline completion item.
| Parameter | Description |
|---|---|
| insertText: string | SnippetString | The text to replace the range with. |
| range?: Range | The range to replace. If not set, the word at the requested position will be used. |
| command?: Command | An optional Command that is executed after inserting this completion. |
| Returns | Description |
| InlineCompletionItem |
属性
命令?:命令
An optional Command that is executed after inserting this completion.
A text that is used to decide if this inline completion should be shown. When falsy
the InlineCompletionItem.insertText is used.
An inline completion is shown if the text to replace is a prefix of the filter text.
插入文本:字符串 | 片段字符串
The text to replace the range with. Must be set. Is used both for the preview and the accept operation.
范围?:范围
The range to replace. Must begin and end on the same line.
Prefer replacements over insertions to provide a better experience when the user deletes typed text.
内联完成项提供程序
内联完成项提供程序接口定义了扩展与内联完成功能之间的合同。
提供者在用户手势明确或输入时隐含地要求完成。
方法
提供内联完成项(文档: 文本文档, 位置: 位置, 上下文: 内联完成上下文, 令牌: 取消令牌): 提供结果<内联完成列表 | 内联完成项[]>
Provides inline completion items for the given position and document.
If inline completions are enabled, this method will be called whenever the user stopped typing.
It will also be called when the user explicitly triggers inline completions or explicitly asks for the next or previous inline completion.
In that case, all available inline completions should be returned.
context.triggerKind can be used to distinguish between these scenarios.
| Parameter | Description |
|---|---|
| document: TextDocument | The document inline completions are requested for. |
| position: Position | The position inline completions are requested for. |
| context: InlineCompletionContext | A context object with additional information. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<InlineCompletionList | InlineCompletionItem[]> | An array of completion items or a thenable that resolves to an array of completion items. |
内联完成列表
表示一个内联完成项集合,将在编辑器中呈现。
构造函数
Creates a new list of inline completion items.
| Parameter | Description |
|---|---|
| items: InlineCompletionItem[] | |
| Returns | Description |
| InlineCompletionList |
属性
项目:内联完成项[]
The inline completion items.
内联完成触发器类型
描述了如何触发一个内联完成提供者。
枚举成员
Completion was triggered explicitly by a user gesture. Return multiple completion items to enable cycling through them.
Completion was triggered automatically while editing. It is sufficient to return a single completion item in this case.
内联值
内联值信息可以通过不同的方式提供:
- 直接作为文本值(类InlineValueText)。
- 作为变量查找时使用的名称(类InlineValueVariableLookup)
- 作为可评估表达式(类InlineValueEvaluatableExpression) InlineValue类型将所有内联值类型合并为一种类型。
内联值:内联值文本 | 内联值变量查找 | 内联值可评估表达式
内联值上下文
一个值对象,当从InlineValuesProvider请求内联值时,包含上下文信息。
属性
The stack frame (as a DAP Id) where the execution has stopped.
停止位置:范围
The document range where execution has stopped. Typically the end position of the range denotes the line where the inline values are shown.
内联值可评估表达式
通过表达式评估提供内联值。 如果仅指定范围,表达式将从底层文档中提取。 可以使用可选的表达式来覆盖提取的表达式。
构造函数
新的内联值可评估表达式(范围: 范围, 表达式?: 字符串): 内联值可评估表达式
Creates a new InlineValueEvaluatableExpression object.
| Parameter | Description |
|---|---|
| range: Range | The range in the underlying document from which the evaluatable expression is extracted. |
| expression?: string | If specified overrides the extracted expression. |
| Returns | Description |
| InlineValueEvaluatableExpression |
属性
If specified the expression overrides the extracted expression.
范围:范围
The document range for which the inline value applies. The range is used to extract the evaluatable expression from the underlying document.
内联值提供者
内联值提供程序接口定义了扩展与编辑器调试器内联值功能之间的合同。 在此合同中,提供程序返回给定文档范围的内联值信息, 编辑器将在行尾显示此信息。
事件
onDidChangeInlineValues?: 事件<无>
An optional event to signal that inline values have changed.
See also EventEmitter
方法
提供行内值(文档: 文本文档, 视口: 范围, 上下文: 行内值上下文, 令牌: 取消令牌): 提供者结果<行内值[]>
Provide "inline value" information for a given document and range. The editor calls this method whenever debugging stops in the given document. The returned inline values information is rendered in the editor at the end of lines.
| Parameter | Description |
|---|---|
| document: TextDocument | The document for which the inline values information is needed. |
| viewPort: Range | The visible document range for which inline values should be computed. |
| context: InlineValueContext | A bag containing contextual information like the current location. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<InlineValue[]> | An array of InlineValueDescriptors or a thenable that resolves to such. The lack of a result can be
signaled by returning |
内联值文本
提供内联值作为文本。
构造函数
新的内联值文本(范围: 范围, 文本: 字符串): 内联值文本
Creates a new InlineValueText object.
| Parameter | Description |
|---|---|
| range: Range | The document line where to show the inline value. |
| text: string | The value to be shown for the line. |
| Returns | Description |
| InlineValueText |
属性
范围:范围
The document range for which the inline value applies.
The text of the inline value.
内联值变量查找
通过变量查找提供内联值。 如果仅指定范围,变量名称将从底层文档中提取。 可以使用可选的变量名称来覆盖提取的名称。
构造函数
新的内联值变量查找(范围: 范围, 变量名?: 字符串, 区分大小写查找?: 布尔值): 内联值变量查找
Creates a new InlineValueVariableLookup object.
| Parameter | Description |
|---|---|
| range: Range | The document line where to show the inline value. |
| variableName?: string | The name of the variable to look up. |
| caseSensitiveLookup?: boolean | How to perform the lookup. If missing lookup is case sensitive. |
| Returns | Description |
| InlineValueVariableLookup |
属性
How to perform the lookup.
范围:范围
The document range for which the inline value applies. The range is used to extract the variable name from the underlying document.
If specified the name of the variable to look up.
输入框
一个具体的QuickInput,用于让用户输入文本值。
请注意,在许多情况下,更方便的 window.showInputBox 更容易使用。 window.createInputBox 应在 window.showInputBox 不能提供所需灵活性时使用。
事件
onDidAccept:事件<无返回值>
An event signaling when the user indicated acceptance of the input value.
onDidChangeValue:事件<字符串>
An event signaling when the value has changed.
onDidHide:事件<无>
An event signaling when a button was triggered.
属性
Determines if the UI should show a progress indicator. Defaults to false.
Change this to true, for example, while loading more data or validating user input.
按钮:只读快速输入按钮[]
Buttons for actions in the UI.
Determines if the UI should allow for user input. Defaults to true.
Change this to false, for example, while validating user input or loading data for the next
step in user input.
Determines if the UI should stay open even when losing UI focus. Defaults to false.
This setting is ignored on iPad and is always false.
Determines if the input value should be hidden. Defaults to false.
Optional placeholder text shown when no value has been input.
An optional prompt text providing some ask or explanation to the user.
An optional current step count for multi-step input flows.
An optional title for the input UI.
An optional total step count for multi-step input flows.
验证消息:字符串 | 输入框验证消息
An optional validation message indicating a problem with the current input value.
By setting a string, the InputBox will use a default InputBoxValidationSeverity of Error.
Returning undefined clears the validation message.
The current input value.
Selection range in the input value.
Defined as tuple of two numbers where the first is the inclusive start index and the second the
exclusive end index. When undefined the whole pre-filled value will be selected, when empty
(start equals end) only the cursor will be set, otherwise the defined range will be selected.
This property does not get updated when the user types or makes a selection, but it can be updated by the extension.
方法
Dispose of this input UI and any associated resources.
If it is still visible, it is first hidden. After this call the input UI is no longer functional and no additional methods or properties on it should be accessed. Instead a new input UI should be created.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hides this input UI.
This will also fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Makes the input UI visible in its current configuration.
Any other input UI will first fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
输入框选项
配置输入框UI行为的选项。
属性
Set to true to keep the input box open when focus moves to another part of the editor or to another window.
This setting is ignored on iPad and is always false.
Controls if a password input is shown. Password input hides the typed text.
An optional string to show as placeholder in the input box to guide the user what to type.
The text to display underneath the input box.
An optional string that represents the title of the input box.
The value to pre-fill in the input box.
Selection of the pre-filled value. Defined as tuple of two number where the
first is the inclusive start index and the second the exclusive end index. When undefined the whole
pre-filled value will be selected, when empty (start equals end) only the cursor will be set,
otherwise the defined range will be selected.
方法
验证输入(值: 字符串): 字符串 | 输入框验证消息 | Thenable<字符串 | 输入框验证消息>
An optional function that will be called to validate input and to give a hint to the user.
| Parameter | Description |
|---|---|
| value: string | The current value of the input box. |
| Returns | Description |
| string | InputBoxValidationMessage | Thenable<string | InputBoxValidationMessage> | Either a human-readable string which is presented as an error message or an InputBoxValidationMessage
which can provide a specific message severity. Return |
输入框验证消息
代表一个输入框的验证消息。
属性
The validation message to display to the user.
严重性:输入框验证严重性
The severity level of the validation message.
Note: When using InputBoxValidationSeverity.Error, the user will not be able to accept the input (e.g., by pressing Enter). Info and Warning severities will still allow the input to be accepted.
输入框验证严重程度
输入框验证消息的严重程度级别。
枚举成员
Indicates an informational message that does not prevent input acceptance.
Indicates a warning message that does not prevent input acceptance.
Indicates an error message that prevents the user from accepting the input.
语言配置
语言配置界面定义了扩展与各种编辑器功能之间的合同,例如自动括号插入、自动缩进等。
属性
__characterPairSupport?: {自动关闭括号对: Array<{关闭: 字符串, 不在: 字符串[], 打开: 字符串}>}
Deprecated Do not use.
- deprecated - * Use the autoClosingPairs property in the language configuration file instead.
| Parameter | Description |
|---|---|
| autoClosingPairs: Array<{close: string, notIn: string[], open: string}> |
|
__electricCharacterSupport?: {brackets: any, docComment: {close: string, lineStart: string, open: string, scope: string}}
Deprecated Do not use.
- deprecated - Will be replaced by a better API soon.
| Parameter | Description |
|---|---|
| brackets: any | This property is deprecated and will be ignored from the editor.
|
| docComment: {close: string, lineStart: string, open: string, scope: string} | This property is deprecated and not fully supported anymore by the editor (scope and lineStart are ignored). Use the autoClosingPairs property in the language configuration file instead.
|
自动关闭括号对?:自动关闭括号对[]
The language's auto closing pairs.
括号?:字符对[]"
The language's brackets. This configuration implicitly affects pressing Enter around these brackets.
评论?: 评论规则
The language's comment settings.
缩进规则?:缩进规则
The language's indentation settings.
进入规则?:进入规则[]
The language's rules to be evaluated when pressing Enter.
The language's word definition. If the language supports Unicode identifiers (e.g. JavaScript), it is preferable to provide a word definition that uses exclusion of known separators. e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
/(-?\d*\.\d\w*)|([^\`\~\!\\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/g
语言模型访问信息
代表了关于访问语言模型的扩展特定信息。
事件
onDidChange:Event<void>
An event that fires when access information changes.
方法
canSendRequest(chat: LanguageModelChat): 布尔值
Checks if a request can be made to a language model.
Note that calling this function will not trigger a consent UI but just checks for a persisted state.
| Parameter | Description |
|---|---|
| chat: LanguageModelChat | A language model chat object. |
| Returns | Description |
| boolean |
|
语言模型聊天
代表一个用于进行聊天请求的语言模型。
属性
Opaque family-name of the language model. Values might be gpt-3.5-turbo, gpt4, phi2, or llama
but they are defined by extensions contributing languages and subject to change.
Opaque identifier of the language model.
The maximum number of tokens that can be sent to the model in a single request.
Human-readable name of the language model.
A well-known identifier of the vendor of the language model. An example is copilot, but
values are defined by extensions contributing chat models and need to be looked up with them.
Opaque version string of the model. This is defined by the extension contributing the language model and subject to change.
方法
countTokens(文本: 字符串 | 语言模型聊天消息, 令牌?: 取消令牌): 然后可<数字>
Count the number of tokens in a message using the model specific tokenizer-logic.
| Parameter | Description |
|---|---|
| text: string | LanguageModelChatMessage | A string or a message instance. |
| token?: CancellationToken | Optional cancellation token. See CancellationTokenSource for how to create one. |
| Returns | Description |
| Thenable<number> | A thenable that resolves to the number of tokens. |
sendRequest(messages: LanguageModelChatMessage[], options?: LanguageModelChatRequestOptions, token?: CancellationToken): Thenable<LanguageModelChatResponse>
Make a chat request using a language model.
Note that language model use may be subject to access restrictions and user consent. Calling this function for the first time (for an extension) will show a consent dialog to the user and because of that this function must only be called in response to a user action! Extensions can use LanguageModelAccessInformation.canSendRequest to check if they have the necessary permissions to make a request.
This function will return a rejected promise if making a request to the language model is not possible. Reasons for this can be:
- user consent not given, see
NoPermissions - model does not exist anymore, see
NotFound - quota limits exceeded, see
Blocked - other issues in which case extension must check [LanguageModelError.cause
LanguageModelError.cause](#_LanguageModelError.causeLanguageModelError.cause)
An extension can make use of language model tool calling by passing a set of tools to LanguageModelChatRequestOptions.tools. The language model will return a LanguageModelToolCallPart and the extension can invoke the tool and make another request with the result.
| Parameter | Description |
|---|---|
| messages: LanguageModelChatMessage[] | An array of message instances. |
| options?: LanguageModelChatRequestOptions | Options that control the request. |
| token?: CancellationToken | A cancellation token which controls the request. See CancellationTokenSource for how to create one. |
| Returns | Description |
| Thenable<LanguageModelChatResponse> | A thenable that resolves to a LanguageModelChatResponse. The promise will reject when the request couldn't be made. |
语言模型聊天功能
各种 LanguageModelChatInformation 支持的功能,例如工具调用或图像输入。
属性
Whether image input is supported by the model. Common supported images are jpg and png, but each model will vary in supported mimetypes.
Whether tool calling is supported by the model. If a number is provided, that is the maximum number of tools that can be provided in a request to the model.
语言模型聊天信息
代表一个由LanguageModelChatProvider提供的语言模型。
属性
功能:语言模型聊天功能
Various features that the model supports such as tool calling or image input.
An optional, human-readable string which will be rendered alongside the model. Useful for distinguishing models of the same name in the UI.
Opaque family-name of the language model. Values might be gpt-3.5-turbo, gpt4, phi2, or llama
Unique identifier for the language model. Must be unique per provider, but not required to be globally unique.
The maximum number of tokens the model can accept as input.
The maximum number of tokens the model is capable of producing.
Human-readable name of the language model.
The tooltip to render when hovering the model. Used to provide more information about the model.
Opaque version string of the model. This is used as a lookup value in LanguageModelChatSelector.version An example is how GPT 4o has multiple versions like 2024-11-20 and 2024-08-06
语言模型聊天消息
代表聊天中的消息。可以扮演不同的角色,如用户或助手。
静态
助手(内容: 字符串 | 数组<语言模型文本部分 | 语言模型数据部分 | 语言模型工具调用部分>, 名称?: 字符串): 语言模型聊天消息
Utility to create a new assistant message.
| Parameter | Description |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelDataPart | LanguageModelToolCallPart> | The content of the message. |
| name?: string | The optional name of a user for the message. |
| Returns | Description |
| LanguageModelChatMessage |
用户(内容: 字符串 | 数组<语言模型文本部分 | 语言模型工具结果部分 | 语言模型数据部分>, 名称?: 字符串): 语言模型聊天消息
Utility to create a new user message.
| Parameter | Description |
|---|---|
| content: string | Array<LanguageModelTextPart | LanguageModelToolResultPart | LanguageModelDataPart> | The content of the message. |
| name?: string | The optional name of a user for the message. |
| Returns | Description |
| LanguageModelChatMessage |
构造函数
新的语言模型聊天消息(角色: 语言模型聊天消息角色, 内容: 字符串 | 语言模型输入部分[], 名称?: 字符串): 语言模型聊天消息
Create a new user message.
| Parameter | Description |
|---|---|
| role: LanguageModelChatMessageRole | The role of the message. |
| content: string | LanguageModelInputPart[] | The content of the message. |
| name?: string | The optional name of a user for the message. |
| Returns | Description |
| LanguageModelChatMessage |
属性
内容:语言模型输入部分[]
A string or heterogeneous array of things that a message can contain as content. Some parts may be message-type specific for some models.
The optional name of a user for this message.
角色:语言模型聊天消息角色
The role of this message.
语言模型聊天消息角色
代表聊天消息的角色。这要么是用户,要么是助手。
枚举成员
The user role, e.g the human interacting with a language model.
The assistant role, e.g. the language model generating responses.
语言模型聊天提供者<T>
一个 LanguageModelChatProvider 实现了对语言模型的访问,用户可以通过聊天视图或通过扩展 API 通过获取 LanguageModelChat 来使用这些模型。 一个例子是 OpenAI 提供者,它提供了像 gpt-5、o3 等模型。
事件
onDidChangeLanguageModelChatInformation?: 事件<无>
An optional event fired when the available set of language models changes.
方法
提供语言模型聊天信息(选项: 准备语言模型聊天模型选项, 令牌: 取消令牌): 提供者结果< T []>
Get the list of available language models provided by this provider
| Parameter | Description |
|---|---|
| options: PrepareLanguageModelChatModelOptions | Options which specify the calling context of this function |
| token: CancellationToken | A cancellation token |
| Returns | Description |
| ProviderResult<T[]> | The list of available language models |
提供语言模型聊天响应(模型: T, 消息: 只读 语言模型聊天请求消息[], 选项: 提供语言模型聊天响应选项, 进度: 进度<语言模型响应部分>, 令牌: 取消令牌): 然后可<无>
Returns the response for a chat request, passing the results to the progress callback. The LanguageModelChatProvider must emit the response parts to the progress callback as they are received from the language model.
| Parameter | Description |
|---|---|
| model: T | The language model to use |
| messages: readonly LanguageModelChatRequestMessage[] | The messages to include in the request |
| options: ProvideLanguageModelChatResponseOptions | Options for the request |
| progress: Progress<LanguageModelResponsePart> | The progress to emit the streamed response chunks to |
| token: CancellationToken | A cancellation token |
| Returns | Description |
| Thenable<void> | A promise that resolves when the response is complete. Results are actually passed to the progress callback. |
提供代币数量(模型: T, 文本: 字符串 | 语言模型聊天请求消息, 代币: 取消令牌): 然后可<数字>
Returns the number of tokens for a given text using the model-specific tokenizer logic
| Parameter | Description |
|---|---|
| model: T | The language model to use |
| text: string | LanguageModelChatRequestMessage | The text to count tokens for |
| token: CancellationToken | A cancellation token |
| Returns | Description |
| Thenable<number> | The number of tokens |
语言模型聊天请求消息
提供者版本的LanguageModelChatMessage.
属性
A heterogeneous array of things that a message can contain as content. Some parts may be message-type specific for some models.
The optional name of a user for this message.
角色:语言模型聊天消息角色
The role of this message.
语言模型聊天请求选项
使用语言模型进行聊天请求的选项。
属性
A human-readable message that explains why access to a language model is needed and what feature is enabled by it.
A set of options that control the behavior of the language model. These options are specific to the language model and need to be looked up in the respective documentation.
工具模式?:语言模型聊天工具模式
The tool-selecting mode to use. LanguageModelChatToolMode.Auto by default.
工具?:语言模型聊天工具[]
An optional list of tools that are available to the language model. These could be registered tools available via lm.tools, or private tools that are just implemented within the calling extension.
If the LLM requests to call one of these tools, it will return a LanguageModelToolCallPart in LanguageModelChatResponse.stream. It's the caller's responsibility to invoke the tool. If it's a tool registered in lm.tools, that means calling lm.invokeTool.
Then, the tool result can be provided to the LLM by creating an Assistant-type LanguageModelChatMessage with a LanguageModelToolCallPart, followed by a User-type message with a LanguageModelToolResultPart.
语言模型聊天响应
代表语言模型的响应。
另见 聊天请求
属性
An async iterable that is a stream of text and tool-call parts forming the overall response. A
LanguageModelTextPart is part of the assistant's response to be shown to the user. A
LanguageModelToolCallPart is a request from the language model to call a tool. The latter will
only be returned if tools were passed in the request via LanguageModelChatRequestOptions.tools. The
unknown-type is used as a placeholder for future parts, like image data parts.
Note that this stream will error when during data receiving an error occurs. Consumers of the stream should handle the errors accordingly.
To cancel the stream, the consumer can cancel the token that was used to make the request or break from the for-loop.
Example
try {
// consume stream
for await (const chunk of response.stream) {
if (chunk instanceof LanguageModelTextPart) {
console.log('TEXT', chunk);
} else if (chunk instanceof LanguageModelToolCallPart) {
console.log('TOOL CALL', chunk);
}
}
} catch (e) {
// stream ended with an error
console.error(e);
}
This is equivalent to filtering everything except for text parts from a LanguageModelChatResponse.stream.
See also LanguageModelChatResponse.stream
语言模型聊天选择器
描述如何为聊天请求选择语言模型。
属性
A family of language models.
See also LanguageModelChat.family
The identifier of a language model.
See also LanguageModelChat.id
A vendor of language models.
See also LanguageModelChat.vendor
The version of a language model.
See also LanguageModelChat.version
语言模型聊天工具
一种通过LanguageModelChatRequestOptions提供给语言模型的工具。语言模型使用此接口的所有属性来决定调用哪个工具以及如何调用。
属性
The description of the tool.
A JSON schema for the input this tool accepts.
The name of the tool.
语言模型聊天工具模式
一种用于语言模型的工具调用模式。
枚举成员
The language model can choose to call a tool or generate a message. Is the default.
The language model must call one of the provided tools. Note- some models only support a single tool when using this mode.
语言模型数据部分
静态
图像(数据: Uint8数组, mime: 字符串): 语言模型数据部分
Create a new LanguageModelDataPart for an image.
| Parameter | Description |
|---|---|
| data: Uint8Array | Binary image data |
| mime: string | The MIME type of the image. Common values are |
| Returns | Description |
| LanguageModelDataPart |
json(value: any, mime?: string): LanguageModelDataPart
Create a new LanguageModelDataPart for a json.
Note that this function is not expecting "stringified JSON" but an object that can be stringified. This function will throw an error when the passed value cannot be JSON-stringified.
| Parameter | Description |
|---|---|
| value: any | A JSON-stringifyable value. |
| mime?: string | Optional MIME type, defaults to |
| Returns | Description |
| LanguageModelDataPart |
文本(值: 字符串, 媒体类型?: 字符串): 语言模型数据部分
Create a new LanguageModelDataPart for text.
Note that an UTF-8 encoder is used to create bytes for the string.
| Parameter | Description |
|---|---|
| value: string | Text data |
| mime?: string | The MIME type if any. Common values are |
| Returns | Description |
| LanguageModelDataPart |
构造函数
新的 LanguageModelDataPart(数据: Uint8数组, 媒体类型: 字符串): LanguageModelDataPart
Construct a generic data part with the given content.
| Parameter | Description |
|---|---|
| data: Uint8Array | The byte data for this part. |
| mimeType: string | The mime type of the data. |
| Returns | Description |
| LanguageModelDataPart |
属性
The byte data for this part.
The mime type which determines how the data property is interpreted.
语言模型错误
用于语言模型特定错误的错误类型。
语言模型的消费者应检查代码属性以确定具体的
失败原因,例如 if(someError.code === vscode.LanguageModelError.NotFound.name) {...}
对于引用未知语言模型的情况。对于未指定的错误,cause-属性
将包含实际错误。
静态
已阻止(消息?: 字符串): 语言模型错误
The requestor is blocked from using this language model.
| Parameter | Description |
|---|---|
| message?: string | |
| Returns | Description |
| LanguageModelError |
没有权限(消息?: 字符串): 语言模型错误
The requestor does not have permissions to use this language model
| Parameter | Description |
|---|---|
| message?: string | |
| Returns | Description |
| LanguageModelError |
NotFound(消息?: 字符串): 语言模型错误
The language model does not exist.
| Parameter | Description |
|---|---|
| message?: string | |
| Returns | Description |
| LanguageModelError |
构造函数
新的语言模型错误(消息?: 字符串): 语言模型错误
| Parameter | Description |
|---|---|
| message?: string | |
| Returns | Description |
| LanguageModelError |
属性
A code that identifies this error.
Possible values are names of errors, like NotFound,
or Unknown for unspecified errors from the language model itself. In the latter case the
cause-property will contain the actual error.
语言模型输入部分
可以通过 LanguageModelChat.sendRequest 发送和处理的各种消息类型LanguageModelChatProvider
语言模型输入部分: 语言模型文本部分 | 语言模型工具结果部分 | 语言模型工具调用部分 | 语言模型数据部分
语言模型提示Tsx部分
一个语言模型响应部分,包含来自vscode/prompt-tsx的PromptElementJSON。
另见 语言模型工具结果
构造函数
新的 LanguageModelPromptTsxPart(值:未知):LanguageModelPromptTsxPart
Construct a prompt-tsx part with the given content.
| Parameter | Description |
|---|---|
| value: unknown | The value of the part, the result of |
| Returns | Description |
| LanguageModelPromptTsxPart |
属性
The value of the part.
语言模型响应部分
各种消息类型LanguageModelChatProvider可以在聊天响应流中发出
语言模型响应部分:语言模型文本部分 | 语言模型工具结果部分 | 语言模型工具调用部分 | 语言模型数据部分
语言模型文本部分
语言模型响应部分包含了一段文本,从LanguageModelChatResponse返回。
构造函数
新的 LanguageModelTextPart(值:字符串):LanguageModelTextPart
Construct a text part with the given content.
| Parameter | Description |
|---|---|
| value: string | The text content of the part. |
| Returns | Description |
| LanguageModelTextPart |
属性
The text content of the part.
语言模型工具<T>
一个可以通过调用来调用的工具LanguageModelChat.
方法
调用(选项: LanguageModelToolInvocationOptions<T>, 令牌: CancellationToken): ProviderResult<LanguageModelToolResult>
Invoke the tool with the given input and return a result.
The provided LanguageModelToolInvocationOptions.input has been validated against the declared schema.
| Parameter | Description |
|---|---|
| options: LanguageModelToolInvocationOptions<T> | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<LanguageModelToolResult> |
准备调用(选项: 语言模型工具调用准备选项<T>, 令牌: 取消令牌): 提供者结果<准备好的工具调用>
Called once before a tool is invoked. It's recommended to implement this to customize the progress message that appears while the tool is running, and to provide a more useful message with context from the invocation input. Can also signal that a tool needs user confirmation before running, if appropriate.
- Note 1: Must be free of side-effects.
- Note 2: A call to
prepareInvocationis not necessarily followed by a call toinvoke.
| Parameter | Description |
|---|---|
| options: LanguageModelToolInvocationPrepareOptions<T> | |
| token: CancellationToken | |
| Returns | Description |
| ProviderResult<PreparedToolInvocation> |
语言模型工具调用部分
语言模型响应部分指示一个工具调用,从LanguageModelChatResponse返回,并且也可以 作为内容部分包含在LanguageModelChatMessage中,以表示聊天请求中的先前工具调用。
构造函数
新的语言模型工具调用部分(调用ID: 字符串, 名称: 字符串, 输入: 对象): 语言模型工具调用部分
Create a new LanguageModelToolCallPart.
| Parameter | Description |
|---|---|
| callId: string | The ID of the tool call. |
| name: string | The name of the tool to call. |
| input: object | The input with which to call the tool. |
| Returns | Description |
| LanguageModelToolCallPart |
属性
The ID of the tool call. This is a unique identifier for the tool call within the chat request.
The input with which to call the tool.
The name of the tool to call.
语言模型工具确认消息
当这在PreparedToolInvocation中返回时,用户将在运行工具之前被要求确认。这些消息将显示带有“继续”和“取消”按钮的按钮。
属性
消息: 字符串 | Markdown字符串
The body of the confirmation message.
The title of the confirmation message.
语言模型工具信息
关于在lm.tools中可用的注册工具的信息。
属性
A description of this tool that may be passed to a language model.
A JSON schema for the input this tool accepts.
A unique name for the tool.
A set of tags, declared by the tool, that roughly describe the tool's capabilities. A tool user may use these to filter the set of tools to just ones that are relevant for the task at hand.
语言模型工具调用选项<T>
为工具调用提供的选项。
属性
The input with which to invoke the tool. The input must match the schema defined in LanguageModelToolInformation.inputSchema
标记化选项?:语言模型工具标记化选项
Options to hint at how many tokens the tool should return in its response, and enable the tool to count tokens accurately.
An opaque object that ties a tool invocation to a chat request from a chat participant.
The only way to get a valid tool invocation token is using the provided toolInvocationToken from a chat request. In that case, a progress bar will be automatically shown for the tool invocation in the chat response view, and if the tool requires user confirmation, it will show up inline in the chat view.
If the tool is being invoked outside of a chat request, undefined should be passed instead, and no special UI except for
confirmations will be shown.
Note that a tool that invokes another tool during its invocation, can pass along the toolInvocationToken that it received.
语言模型工具调用准备选项<T>
属性
The input that the tool is being invoked with.
语言模型工具结果
工具调用返回的结果。如果使用vscode/prompt-tsx,此结果可能会使用ToolResult进行渲染。
构造函数
新的语言模型工具结果(内容:未知[]"):语言模型工具结果
Create a LanguageModelToolResult
| Parameter | Description |
|---|---|
| content: unknown[] | A list of tool result content parts |
| Returns | Description |
| LanguageModelToolResult |
属性
A list of tool result content parts. Includes unknown because this list may be extended with new content types in
the future.
See also lm.invokeTool.
语言模型工具结果部分
工具调用的结果。这是的对应部分,只能包含在用户消息的内容中。工具调用
构造函数
新的语言模型工具结果部分(调用ID: 字符串, 内容: 未知[]): 语言模型工具结果部分
| Parameter | Description |
|---|---|
| callId: string | The ID of the tool call. |
| content: unknown[] | The content of the tool result. |
| Returns | Description |
| LanguageModelToolResultPart |
属性
The ID of the tool call.
Note that this should match the callId of a tool call part.
The value of the tool result.
语言模型工具标记化选项
与工具调用相关的标记化选项。
属性
If known, the maximum number of tokens the tool should emit in its result.
方法
countTokens(文本: 字符串, 令牌?: 取消令牌): 然后可<数字>
Count the number of tokens in a message using the model specific tokenizer-logic.
| Parameter | Description |
|---|---|
| text: string | A string. |
| token?: CancellationToken | Optional cancellation token. See CancellationTokenSource for how to create one. |
| Returns | Description |
| Thenable<number> | A thenable that resolves to the number of tokens. |
语言状态项
语言状态项是为当前文本编辑器(如选择的检查器或配置问题通知)呈现语言状态报告的首选方式。
属性
无障碍信息?: 无障碍信息
Accessibility information used when a screen reader interacts with this item
Controls whether the item is shown as "busy". Defaults to false.
命令:命令
A command for this item.
Optional, human-readable details for this item.
The identifier of this item.
The short name of this item, like 'Java Language Status', etc.
选择器:文档选择器
A selector that defines for what editors this item shows.
严重程度:语言状态严重程度
The severity of this item.
Defaults to information. You can use this property to signal to users that there is a problem that needs attention, like a missing executable or an invalid configuration.
The text to show for the entry. You can embed icons in the text by leveraging the syntax:
My text $(icon-name) contains icons like $(icon-name) this one.
Where the icon-name is taken from the ThemeIcon icon set, e.g.
light-bulb, thumbsup, zap etc.
方法
Dispose and free associated resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
语言状态严重程度
代表语言状况的严重程度。
枚举成员
Informational severity level.
Warning severity level.
Error severity level.
链接编辑范围提供者
链接编辑范围提供程序接口定义了扩展和链接编辑功能之间的合同。
方法
提供链接编辑范围(文档: 文本文档, 位置: 位置, 标记: 取消标记): 提供者结果<链接编辑范围>
For a given position in a document, returns the range of the symbol at the position and all ranges that have the same content. A change to one of the ranges can be applied to all other ranges if the new content is valid. An optional word pattern can be returned with the result to describe valid contents. If no result-specific word pattern is provided, the word pattern from the language configuration is used.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the provider was invoked. |
| position: Position | The position at which the provider was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<LinkedEditingRanges> | A list of ranges that can be edited together |
链接编辑范围
表示可以一起编辑的范围列表以及单词模式,以描述有效的范围内容。
构造函数
新的链接编辑范围(范围: 范围[], 单词模式?: 正则表达式): 链接编辑范围
Create a new linked editing ranges object.
| Parameter | Description |
|---|---|
| ranges: Range[] | A list of ranges that can be edited together |
| wordPattern?: RegExp | An optional word pattern that describes valid contents for the given ranges |
| Returns | Description |
| LinkedEditingRanges |
属性
范围:范围[]
A list of ranges that can be edited together. The ranges must have identical length and text content. The ranges cannot overlap.
An optional word pattern that describes valid contents for the given ranges. If no pattern is provided, the language configuration's word pattern will be used.
位置
表示资源内部的一个位置,例如文本文件中的一行。
构造函数
新位置(uri: Uri, 范围或位置: 范围 | 位置): 位置
Creates a new location object.
属性
范围:范围
The document range of this location.
uri:Uri
The resource identifier of this location.
位置链接
表示两个位置之间的连接。提供正常位置的附加元数据位置,包括起始范围。
属性
原点选择范围?:范围
Span of the origin of this link.
Used as the underlined span for mouse definition hover. Defaults to the word range at the definition position.
目标范围:范围
The full target range of this link.
目标选择范围?:范围
The span of this link.
目标Uri:Uri
The target resource identifier of this link.
日志级别
日志级别
枚举成员
No messages are logged with this level.
All messages are logged with this level.
Messages with debug and higher log level are logged with this level.
Messages with info and higher log level are logged with this level.
Messages with warning and higher log level are logged with this level.
Only error messages are logged with this level.
日志输出通道
用于包含日志输出的通道。
获取一个LogOutputChannel的实例
使用createOutputChannel。
事件
An Event which fires when the log level of the channel changes.
属性
日志级别:日志级别
The current log level of the channel. Defaults to editor log level.
The human-readable name of this output channel.
方法
Append the given value to the channel.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will not be printed. |
| Returns | Description |
| void |
Append the given value and a line feed character to the channel.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will be printed. |
| Returns | Description |
| void |
Removes all output from the channel.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
调试(消息: 字符串, ...参数: 任何类型): 无返回值
Outputs the given debug message to the channel.
The message is only logged if the channel is configured to display debug log level or lower.
| Parameter | Description |
|---|---|
| message: string | debug message to log |
| ...args: any[] | |
| Returns | Description |
| void |
Dispose and free associated resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
错误(错误: 字符串 | 错误, ...参数: 任何[]{}): 无
Outputs the given error or error message to the channel.
The message is only logged if the channel is configured to display error log level or lower.
| Parameter | Description |
|---|---|
| error: string | Error | Error or error message to log |
| ...args: any[] | |
| Returns | Description |
| void |
Hide this channel from the UI.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
信息(消息: 字符串, ...参数: 任何类型): 无返回值
Outputs the given information message to the channel.
The message is only logged if the channel is configured to display info log level or lower.
| Parameter | Description |
|---|---|
| message: string | info message to log |
| ...args: any[] | |
| Returns | Description |
| void |
Replaces all output from the channel with the given value.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will not be printed. |
| Returns | Description |
| void |
Reveal this channel in the UI.
| Parameter | Description |
|---|---|
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
显示(列?: 查看列, 保持焦点?: 布尔值): 无
Reveal this channel in the UI.
- deprecated - Use the overload with just one parameter (
show(preserveFocus?: boolean): void).
| Parameter | Description |
|---|---|
| column?: ViewColumn | This argument is deprecated and will be ignored. |
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
跟踪(消息: 字符串, ...参数: 任何类型): 无返回值
Outputs the given trace message to the channel. Use this method to log verbose information.
The message is only logged if the channel is configured to display trace log level.
| Parameter | Description |
|---|---|
| message: string | trace message to log |
| ...args: any[] | |
| Returns | Description |
| void |
Outputs the given warning message to the channel.
The message is only logged if the channel is configured to display warning log level or lower.
| Parameter | Description |
|---|---|
| message: string | warning message to log |
| ...args: any[] | |
| Returns | Description |
| void |
Markdown字符串
构造函数
新的Markdown字符串(值?: 字符串, 支持主题图标?: 布尔值): Markdown字符串
Creates a new markdown string with the given value.
| Parameter | Description |
|---|---|
| value?: string | Optional, initial value. |
| supportThemeIcons?: boolean | Optional, Specifies whether ThemeIcons are supported within the MarkdownString. |
| Returns | Description |
| MarkdownString |
属性
基础Uri?: 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?: 布尔值 | {enabledCommands: 只读 字符串数组}
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).
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.
Indicates that this markdown string can contain ThemeIcons, e.g. $(zap).
The markdown string.
方法
追加代码块(值: 字符串, 语言?: 字符串): Markdown字符串
Appends the given string as codeblock using the provided language.
| Parameter | Description |
|---|---|
| value: string | A code snippet. |
| language?: string | An optional language identifier. |
| Returns | Description |
| MarkdownString |
追加Markdown(值: 字符串): Markdown字符串
Appends the given string 'as is' to this markdown string. When supportThemeIcons is true, ThemeIcons in the value will be iconified.
| Parameter | Description |
|---|---|
| value: string | Markdown string. |
| Returns | Description |
| MarkdownString |
追加文本(值: 字符串): Markdown字符串
Appends and escapes the given string to this markdown string.
| Parameter | Description |
|---|---|
| value: string | Plain text. |
| Returns | Description |
| MarkdownString |
标记字符串
MarkedString 可以用来渲染可读的人类文本。它要么是一个 markdown 字符串,要么是一个提供语言和代码片段的代码块。请注意,markdown 字符串将被清理 - 即 HTML 将被转义。
- 已弃用 - 此类型已弃用,请使用 MarkdownString 代替。
McpHttp服务器定义
McpHttpServerDefinition 表示一个通过流式传输的 HTTP 传输协议可用的 MCP 服务器。
构造函数
新的McpHttpServerDefinition(Tab: 字符串, uri: Uri, 头部?: Record<字符串, 字符串>, 版本?: 字符串): McpHttpServerDefinition
| Parameter | Description |
|---|---|
| label: string | The human-readable name of the server. |
| uri: Uri | The URI of the server. |
| headers?: Record<string, string> | Optional additional heads included with each request to the server. |
| version?: string | |
| Returns | Description |
| McpHttpServerDefinition |
属性
Optional additional heads included with each request to the server.
The human-readable name of the server.
uri:Uri
The URI of the server. The editor will make a POST request to this URI to begin each session.
Optional version identification for the server. If this changes, the editor will indicate that tools have changed and prompt to refresh them.
Mcp服务器定义
描述不同类型的模型上下文协议服务器的定义, 这些定义可以由McpServerDefinitionProvider返回。
Mcp服务器定义:Mcp标准输入输出服务器定义 | McpHttp服务器定义
McpServerDefinitionProvider< T >
一种可以提供模型上下文协议服务器定义的类型。这应该在扩展激活时通过lm.registerMcpServerDefinitionProvider 进行注册。
事件
onDidChangeMcpServerDefinitions?: 事件<无>
Optional event fired to signal that the set of available servers has changed.
方法
提供Mcp服务器定义(令牌: 取消令牌): 提供者结果< T []
Provides available MCP servers. The editor will call this method eagerly to ensure the availability of servers for the language model, and so extensions should not take actions which would require user interaction, such as authentication.
| Parameter | Description |
|---|---|
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | An array of MCP available MCP servers |
解决Mcp服务器定义(服务器: T, 令牌: CancellationToken): 提供者结果<T>
This function will be called when the editor needs to start a MCP server.
At this point, the extension may take any actions which may require user
interaction, such as authentication. Any non-readonly property of the
server may be modified, and the extension should return the resolved server.
The extension may return undefined to indicate that the server should not be started, or throw an error. If there is a pending tool call, the editor will cancel it and return an error message to the language model.
| Parameter | Description |
|---|---|
| server: T | The MCP server to resolve |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved server or thenable that resolves to such. This may
be the given |
McpStdioServerDefinition
McpStdioServerDefinition 表示通过运行本地进程并操作其 stdin 和 stdout 流可用的 MCP 服务器。该进程将作为扩展主机的子进程启动,并且默认情况下不会在 shell 环境中运行。
构造函数
新的McpStdio服务器定义(Tab:字符串,命令:字符串,参数?:字符串[], 环境变量?:记录<字符串,字符串 | 数字>,版本?:字符串):McpStdio服务器定义
| Parameter | Description |
|---|---|
| label: string | The human-readable name of the server. |
| command: string | The command used to start the server. |
| args?: string[] | Additional command-line arguments passed to the server. |
| env?: Record<string, string | number> | Optional additional environment information for the server. |
| version?: string | Optional version identification for the server. |
| Returns | Description |
| McpStdioServerDefinition |
属性
Additional command-line arguments passed to the server.
The command used to start the server. Node.js-based servers may use
process.execPath to use the editor's version of Node.js to run the script.
当前工作目录?: 统一资源标识符
The working directory used to start the server.
Optional additional environment information for the server. Variables in this environment will overwrite or remove (if null) the default environment variables of the editor's extension host.
The human-readable name of the server.
Optional version identification for the server. If this changes, the editor will indicate that tools have changed and prompt to refresh them.
纪念品
一个纪念品代表一个存储实用工具。它可以存储和检索值。
方法
Return a value.
| Parameter | Description |
|---|---|
| key: string | A string. |
| Returns | Description |
| T | The stored value or |
Return a value.
| Parameter | Description |
|---|---|
| key: string | A string. |
| defaultValue: T | A value that should be returned when there is no
value ( |
| Returns | Description |
| T | The stored value or the defaultValue. |
Returns the stored keys.
| Parameter | Description |
|---|---|
| Returns | Description |
| readonly string[] | The stored keys. |
更新(键: 字符串, 值: 任意): Thenable<无>
Store a value. The value must be JSON-stringifyable.
Note that using undefined as value removes the key from the underlying
storage.
| Parameter | Description |
|---|---|
| key: string | A string. |
| value: any | A value. MUST not contain cyclic references. |
| Returns | Description |
| Thenable<void> |
消息项
属性
A hint for modal dialogs that the item should be triggered when the user cancels the dialog (e.g. by pressing the ESC key).
Note: this option is ignored for non-modal messages.
A short title like 'Retry', 'Open Log' etc.
消息选项
属性
Human-readable detail message that is rendered less prominent. Note that detail is only shown for modal messages.
Indicates that this message should be modal.
笔记本单元格
属性
文档:文本文档
The text of this cell, represented as text document.
执行摘要:笔记本单元格执行摘要
The most recent execution summary for this cell.
The index of this cell in its containing notebook. The
index is updated when a cell is moved within its notebook. The index is -1
when the cell has been removed from its notebook.
种类:笔记本单元种类
The kind of this cell.
The metadata of this cell. Can be anything but must be JSON-stringifyable.
笔记本:笔记本文档
The notebook that contains this cell.
输出:只读 NotebookCellOutput[]"
The outputs of this cell.
笔记本单元格数据
NotebookCellData 是 notebook 细胞的原始表示。它是 NotebookData的一部分。
构造函数
新的 NotebookCellData(类型: NotebookCellKind, 值: 字符串, 语言ID: 字符串): NotebookCellData
Create new cell data. Minimal cell data specifies its kind, its source value, and the language identifier of its source.
| Parameter | Description |
|---|---|
| kind: NotebookCellKind | The kind. |
| value: string | The source value. |
| languageId: string | The language identifier of the source value. |
| Returns | Description |
| NotebookCellData |
属性
执行摘要?:笔记本单元格执行摘要
The execution summary of this cell data.
种类:笔记本单元种类
The kind of this cell data.
The language identifier of the source value of this cell data. Any value from getLanguages is possible.
Arbitrary metadata of this cell data. Can be anything but must be JSON-stringifyable.
输出?:NotebookCellOutput[]{}
The outputs of this cell data.
The source value of this cell data - either source code or formatted text.
笔记本单元格执行
一个 NotebookCellExecution 是 notebook controller 在执行时修改 notebook cell 的方式。
当创建一个单元格执行对象时,单元格进入[NotebookCellExecutionState.Pending 待定](#_NotebookCellExecutionState.Pending 待定)状态。 当start(...) 被调用在执行任务上时,它进入[NotebookCellExecutionState.Executing 执行中](#_NotebookCellExecutionState.Executing 执行中)状态。当 end(...) 被调用时,它进入[NotebookCellExecutionState.Idle 空闲](#_NotebookCellExecutionState.Idle 空闲)状态。
属性
单元:笔记本单元
The cell for which this execution has been created.
Set and unset the order of this cell execution.
令牌:取消令牌
A cancellation token which will be triggered when the cell execution is canceled from the UI.
Note that the cancellation token will not be triggered when the controller that created this execution uses an interrupt-handler.
方法
appendOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
Append to the output of the cell that is executing or to another cell that is affected by this execution.
| Parameter | Description |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | Output that is appended to the current output. |
| cell?: NotebookCell | Cell for which output is cleared. Defaults to the cell of this execution. |
| Returns | Description |
| Thenable<void> | A thenable that resolves when the operation finished. |
appendOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
Append output items to existing cell output.
| Parameter | Description |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | Output items that are append to existing output. |
| output: NotebookCellOutput | Output object that already exists. |
| Returns | Description |
| Thenable<void> | A thenable that resolves when the operation finished. |
清除输出(单元格?: 笔记本单元格): 可Thenable<无>
Clears the output of the cell that is executing or of another cell that is affected by this execution.
| Parameter | Description |
|---|---|
| cell?: NotebookCell | Cell for which output is cleared. Defaults to the cell of this execution. |
| Returns | Description |
| Thenable<void> | A thenable that resolves when the operation finished. |
Signal that execution has ended.
| Parameter | Description |
|---|---|
| success: boolean | If true, a green check is shown on the cell status bar. If false, a red X is shown. If undefined, no check or X icon is shown. |
| endTime?: number | The time that execution finished, in milliseconds in the Unix epoch. |
| Returns | Description |
| void |
replaceOutput(out: NotebookCellOutput | readonly NotebookCellOutput[], cell?: NotebookCell): Thenable<void>
Replace the output of the cell that is executing or of another cell that is affected by this execution.
| Parameter | Description |
|---|---|
| out: NotebookCellOutput | readonly NotebookCellOutput[] | Output that replaces the current output. |
| cell?: NotebookCell | Cell for which output is cleared. Defaults to the cell of this execution. |
| Returns | Description |
| Thenable<void> | A thenable that resolves when the operation finished. |
replaceOutputItems(items: NotebookCellOutputItem | readonly NotebookCellOutputItem[], output: NotebookCellOutput): Thenable<void>
Replace all output items of existing cell output.
| Parameter | Description |
|---|---|
| items: NotebookCellOutputItem | readonly NotebookCellOutputItem[] | Output items that replace the items of existing output. |
| output: NotebookCellOutput | Output object that already exists. |
| Returns | Description |
| Thenable<void> | A thenable that resolves when the operation finished. |
Signal that the execution has begun.
| Parameter | Description |
|---|---|
| startTime?: number | The time that execution began, in milliseconds in the Unix epoch. Used to drive the clock that shows for how long a cell has been running. If not given, the clock won't be shown. |
| Returns | Description |
| void |
笔记本单元格执行摘要
笔记本单元格执行的摘要。
属性
The order in which the execution happened.
If the execution finished successfully.
The times at which execution started and ended, as unix timestamps
| Parameter | Description |
|---|---|
| endTime: number | Execution end time. |
| startTime: number | Execution start time. |
笔记本单元格类型
笔记本单元类型。
枚举成员
A markup-cell is formatted source that is used for display.
笔记本单元格输出
笔记本单元格输出表示执行单元格的结果。它是一个用于多个 输出项的容器类型,其中包含的项目表示相同的结果但使用不同的MIME类型。
构造函数
新的 NotebookCellOutput(项目: NotebookCellOutputItem[], 元数据?: ): NotebookCellOutput
Create new notebook output.
| Parameter | Description |
|---|---|
| items: NotebookCellOutputItem[] | Notebook output items. |
| metadata?: | Optional metadata. |
| Returns | Description |
| NotebookCellOutput |
属性
项目:笔记本单元格输出项:
The output items of this output. Each item must represent the same result. Note that repeated MIME types per output is invalid and that the editor will just pick one of them.
new vscode.NotebookCellOutput([
vscode.NotebookCellOutputItem.text('Hello', 'text/plain'),
vscode.NotebookCellOutputItem.text('<i>Hello</i>', 'text/html'),
vscode.NotebookCellOutputItem.text('_Hello_', 'text/markdown'),
vscode.NotebookCellOutputItem.text('Hey', 'text/plain') // INVALID: repeated type, editor will pick just one
]);
Arbitrary metadata for this cell output. Can be anything but must be JSON-stringifyable.
笔记本单元格输出项
一种 笔记本输出的表示,由MIME类型和数据定义。
静态
错误(值: 错误): 笔记本单元格输出项
Factory function to create a NotebookCellOutputItem that uses
uses the application/vnd.code.notebook.error mime type.
| Parameter | Description |
|---|---|
| value: Error | An error object. |
| Returns | Description |
| NotebookCellOutputItem | A new output item object. |
json(value: any, mime?: string): NotebookCellOutputItem
Factory function to create a NotebookCellOutputItem from
a JSON object.
Note that this function is not expecting "stringified JSON" but an object that can be stringified. This function will throw an error when the passed value cannot be JSON-stringified.
| Parameter | Description |
|---|---|
| value: any | A JSON-stringifyable value. |
| mime?: string | Optional MIME type, defaults to |
| Returns | Description |
| NotebookCellOutputItem | A new output item object. |
标准错误(值: 字符串): 笔记本单元格输出项
Factory function to create a NotebookCellOutputItem that uses
uses the application/vnd.code.notebook.stderr mime type.
| Parameter | Description |
|---|---|
| value: string | A string. |
| Returns | Description |
| NotebookCellOutputItem | A new output item object. |
标准输出(值: 字符串): 笔记本单元格输出项
Factory function to create a NotebookCellOutputItem that uses
uses the application/vnd.code.notebook.stdout mime type.
| Parameter | Description |
|---|---|
| value: string | A string. |
| Returns | Description |
| NotebookCellOutputItem | A new output item object. |
文本(值: 字符串, 媒体类型?: 字符串): 笔记本单元格输出项
Factory function to create a NotebookCellOutputItem from a string.
Note that an UTF-8 encoder is used to create bytes for the string.
| Parameter | Description |
|---|---|
| value: string | A string. |
| mime?: string | Optional MIME type, defaults to |
| Returns | Description |
| NotebookCellOutputItem | A new output item object. |
构造函数
新的 NotebookCellOutputItem(数据: Uint8数组, 媒体类型: 字符串): NotebookCellOutputItem
Create a new notebook cell output item.
| Parameter | Description |
|---|---|
| data: Uint8Array | The value of the output item. |
| mime: string | The mime type of the output item. |
| Returns | Description |
| NotebookCellOutputItem |
属性
The data of this output item. Must always be an array of unsigned 8-bit integers.
The mime type which determines how the data-property is interpreted.
Notebooks have built-in support for certain mime-types, extensions can add support for new types and override existing types.
笔记本单元格状态栏对齐
表示状态栏项目的对齐方式。
枚举成员
Aligned to the left side.
Aligned to the right side.
笔记本单元格状态栏项目
对细胞状态栏的贡献
构造函数
新的 NotebookCellStatusBarItem(文本: 字符串, 对齐方式: NotebookCellStatusBarAlignment): NotebookCellStatusBarItem
Creates a new NotebookCellStatusBarItem.
| Parameter | Description |
|---|---|
| text: string | The text to show for the item. |
| alignment: NotebookCellStatusBarAlignment | Whether the item is aligned to the left or right. |
| Returns | Description |
| NotebookCellStatusBarItem |
属性
无障碍信息?: 无障碍信息
Accessibility information used when a screen reader interacts with this item.
对齐:NotebookCellStatusBar Alignment
Whether the item is aligned to the left or right.
命令?:字符串 | 命令
The priority of the item. A higher value item will be shown more to the left.
The text to show for the item.
A tooltip to show when the item is hovered.
笔记本单元格状态栏项提供者
一个可以向单元格编辑器下方出现的状态栏贡献项目的提供者。
事件
onDidChangeCellStatusBarItems?: 事件<无>
An optional event to signal that statusbar items have changed. The provide method will be called again.
方法
提供单元格状态栏项目(单元格: 笔记本单元格, 令牌: 取消令牌): 提供者结果<笔记本单元格状态栏项目 | 笔记本单元格状态栏项目[]>
The provider will be called when the cell scrolls into view, when its content, outputs, language, or metadata change, and when it changes execution state.
| Parameter | Description |
|---|---|
| cell: NotebookCell | The cell for which to return items. |
| token: CancellationToken | A token triggered if this request should be cancelled. |
| Returns | Description |
| ProviderResult<NotebookCellStatusBarItem | NotebookCellStatusBarItem[]> | One or more cell statusbar items |
笔记本控制器
笔记本控制器代表一个可以执行笔记本单元的实体。这通常被称为内核。
可以有多个控制器,并且编辑器将允许用户选择用于特定笔记本的控制器。 notebookType属性定义了控制器适用于哪种类型的笔记本,updateNotebookAffinity函数允许控制器为特定的笔记本文档设置偏好。当选择了一个控制器后, onDidChangeSelectedNotebooks事件会被触发。
事件
onDidChangeSelectedNotebooks:事件<{notebook: NotebookDocument, selected: 布尔值}>
An event that fires whenever a controller has been selected or un-selected for a notebook document.
There can be multiple controllers for a notebook and in that case a controllers needs to be selected. This is a user gesture and happens either explicitly or implicitly when interacting with a notebook for which a controller was suggested. When possible, the editor suggests a controller that is most likely to be selected.
Note that controller selection is persisted (by the controllers id) and restored as soon as a controller is re-created or as a notebook is opened.
属性
The human-readable description which is rendered less prominent.
The human-readable detail which is rendered less prominent.
executeHandler:(cells:NotebookCell[], notebook:NotebookDocument,controller:NotebookController)=:void | Thenable<void>
The execute handler is invoked when the run gestures in the UI are selected, e.g Run Cell, Run All, Run Selection etc. The execute handler is responsible for creating and managing execution-objects.
| Parameter | Description |
|---|---|
| cells: NotebookCell[] | |
| notebook: NotebookDocument | |
| controller: NotebookController | |
| Returns | Description |
| void | Thenable<void> |
The identifier of this notebook controller.
Note that controllers are remembered by their identifier and that extensions should use stable identifiers across sessions.
中断处理程序?:(笔记本:笔记本文档)=> 无 | 然后able<无>
Optional interrupt handler.
By default cell execution is canceled via tokens. Cancellation
tokens require that a controller can keep track of its execution so that it can cancel a specific execution at a later
point. Not all scenarios allow for that, eg. REPL-style controllers often work by interrupting whatever is currently
running. For those cases the interrupt handler exists - it can be thought of as the equivalent of SIGINT
or Control+C in terminals.
Note that supporting cancellation tokens is preferred and that interrupt handlers should only be used when tokens cannot be supported.
| Parameter | Description |
|---|---|
| notebook: NotebookDocument | |
| Returns | Description |
| void | Thenable<void> |
The human-readable label of this notebook controller.
The notebook type this controller is for.
An array of language identifiers that are supported by this controller. Any language identifier from getLanguages is possible. When falsy all languages are supported.
Samples:
// support JavaScript and TypeScript
myController.supportedLanguages = ['javascript', 'typescript'];
// support all languages
myController.supportedLanguages = undefined; // falsy
myController.supportedLanguages = []; // falsy
Whether this controller supports execution order so that the editor can render placeholders for them.
方法
创建笔记本单元格执行(单元格: 笔记本单元格): 笔记本单元格执行
Create a cell execution task.
Note that there can only be one execution per cell at a time and that an error is thrown if a cell execution is created while another is still active.
This should be used in response to the execution handler being called or when cell execution has been started else, e.g when a cell was already executing or when cell execution was triggered from another source.
| Parameter | Description |
|---|---|
| cell: NotebookCell | The notebook cell for which to create the execution. |
| Returns | Description |
| NotebookCellExecution | A notebook cell execution. |
Dispose and free associated resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
更新笔记本亲和力(笔记本: 笔记本文档, 亲和力: 笔记本控制器亲和力): 无
A controller can set affinities for specific notebook documents. This allows a controller to be presented more prominent for some notebooks.
| Parameter | Description |
|---|---|
| notebook: NotebookDocument | The notebook for which a priority is set. |
| affinity: NotebookControllerAffinity | A controller affinity |
| Returns | Description |
| void |
笔记本控制器亲和力
笔记本控制器对笔记本文档的亲和力。
枚举成员
Default affinity.
A controller is preferred for a notebook.
笔记本数据
构造函数
新的 NotebookData(单元格: NotebookCellData数组): NotebookData
Create new notebook data.
| Parameter | Description |
|---|---|
| cells: NotebookCellData[] | An array of cell data. |
| Returns | Description |
| NotebookData |
属性
单元格:NotebookCellData[]
The cell data of this notebook data.
Arbitrary metadata of notebook data.
笔记本文档
属性
The number of cells in the notebook.
true if the notebook has been closed. A closed notebook isn't synchronized anymore
and won't be re-used when the same resource is opened again.
true if there are unpersisted changes.
Is this notebook representing an untitled file which has not been saved yet.
Arbitrary metadata for this notebook. Can be anything but must be JSON-stringifyable.
The type of notebook.
uri:Uri
The associated uri for this notebook.
Note that most notebooks use the file-scheme, which means they are files on disk. However, not all notebooks are
saved on disk and therefore the scheme must be checked before trying to access the underlying file or siblings on disk.
See also FileSystemProvider
The version number of this notebook (it will strictly increase after each change, including undo/redo).
方法
cellAt(索引: 数字): 笔记本单元格
Return the cell at the specified index. The index will be adjusted to the notebook.
| Parameter | Description |
|---|---|
| index: number | The index of the cell to retrieve. |
| Returns | Description |
| NotebookCell | A cell. |
Get the cells of this notebook. A subset can be retrieved by providing a range. The range will be adjusted to the notebook.
| Parameter | Description |
|---|---|
| range?: NotebookRange | A notebook range. |
| Returns | Description |
| NotebookCell[] | The cells contained by the range or all cells. |
Save the document. The saving will be handled by the corresponding serializer.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<boolean> | A promise that will resolve to true when the document has been saved. Will return false if the file was not dirty or when save failed. |
笔记本文档单元格更改
描述对笔记本单元格的更改。
另见 笔记本文档更改事件
属性
单元:笔记本单元
The affected cell.
文档:文本文档
The document of the cell or undefined when it did not change.
Note that you should use the onDidChangeTextDocument-event for detailed change information, like what edits have been performed.
执行摘要:笔记本单元格执行摘要
The new execution summary of the cell or undefined when it did not change.
The new metadata of the cell or undefined when it did not change.
输出:只读 NotebookCellOutput[]"
The new outputs of the cell or undefined when they did not change.
笔记本文档更改事件
一个描述事务性笔记本更改的事件。
属性
cellChanges:只读NotebookDocumentCellChange:
An array of cell changes.
内容更改:只读NotebookDocumentContentChange[]
An array of content changes describing added or removed cells.
The new metadata of the notebook or undefined when it did not change.
笔记本:笔记本文档
The affected notebook.
笔记本文档内容更改
描述了笔记本文档的结构变化,例如新增和删除的单元格。
另见 笔记本文档更改事件
属性
新增单元格:只读笔记本单元格[]{}
Cells that have been added to the document.
范围:笔记本范围
移除的单元格:只读笔记本单元格数组
Cells that have been removed from the document.
笔记本文档内容选项
Notebook 内容选项定义了 Notebook 哪些部分会被持久化。注意
例如,一个笔记本序列化器可以选择不保存输出,这样编辑器不会在输出更改时将笔记本标记为脏。
属性
Controls if a cell metadata property change event will trigger notebook document content change events and if it will be used in the diff editor, defaults to false. If the content provider doesn't persist a metadata property in the file document, it should be set to true.
Controls if a document metadata property change event will trigger notebook document content change event and if it will be used in the diff editor, defaults to false. If the content provider doesn't persist a metadata property in the file document, it should be set to true.
Controls if output change events will trigger notebook document content change events and if it will be used in the diff editor, defaults to false. If the content provider doesn't persist the outputs in the file document, this should be set to true.
笔记本文档显示选项
属性
An optional flag that when true will stop the notebook editor from taking focus.
An optional flag that controls if an notebook editor-tab shows as preview. Preview tabs will
be replaced and reused until set to stay - either explicitly or through editing. The default behaviour depends
on the workbench.editor.enablePreview-setting.
选择?:只读NotebookRange[]
An optional selection to apply for the document in the notebook editor.
视图列?:视图列
An optional view column in which the notebook editor should be shown. The default is the active. Columns that do not exist will be created as needed up to the maximum of ViewColumn.Nine. Use ViewColumn.Beside to open the editor to the side of the currently active one.
笔记本文档将保存事件
属性
笔记本:笔记本文档
The notebook document that will be saved.
原因:文本文档保存原因
The reason why save was triggered.
令牌:取消令牌
A cancellation token.
方法
等待直到(可承诺对象: Thenable<WorkspaceEdit>): 无
Allows to pause the event loop and to apply workspace edit. Edits of subsequent calls to this function will be applied in order. The edits will be ignored if concurrent modifications of the notebook document happened.
Note: This function can only be called during event dispatch and not in an asynchronous manner:
workspace.onWillSaveNotebookDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Description |
|---|---|
| thenable: Thenable<WorkspaceEdit> | A thenable that resolves to workspace edit. |
| Returns | Description |
| void |
Allows to pause the event loop until the provided thenable resolved.
Note: This function can only be called during event dispatch.
| Parameter | Description |
|---|---|
| thenable: Thenable<any> | A thenable that delays saving. |
| Returns | Description |
| void |
笔记本编辑
笔记本编辑代表了应应用于笔记本内容的编辑。
静态
Utility to create an edit that deletes cells in a notebook.
| Parameter | Description |
|---|---|
| range: NotebookRange | The range of cells to delete. |
| Returns | Description |
| NotebookEdit |
插入单元格(索引: 数字, 新单元格: NotebookCellData[]): NotebookEdit
Utility to create an edit that replaces cells in a notebook.
| Parameter | Description |
|---|---|
| index: number | The index to insert cells at. |
| newCells: NotebookCellData[] | The new notebook cells. |
| Returns | Description |
| NotebookEdit |
replaceCells(range: NotebookRange, newCells: NotebookCellData[]): NotebookEdit
Utility to create a edit that replaces cells in a notebook.
| Parameter | Description |
|---|---|
| range: NotebookRange | The range of cells to replace |
| newCells: NotebookCellData[] | The new notebook cells. |
| Returns | Description |
| NotebookEdit |
更新单元格元数据(索引: 数字, 新单元格元数据: ): 笔记本编辑
Utility to create an edit that update a cell's metadata.
| Parameter | Description |
|---|---|
| index: number | The index of the cell to update. |
| newCellMetadata: | The new metadata for the cell. |
| Returns | Description |
| NotebookEdit |
更新笔记本元数据(新的笔记本元数据:):笔记本编辑
Utility to create an edit that updates the notebook's metadata.
| Parameter | Description |
|---|---|
| newNotebookMetadata: | The new metadata for the notebook. |
| Returns | Description |
| NotebookEdit |
构造函数
新的 NotebookEdit(范围: NotebookRange, 新单元格: NotebookCellData[]): NotebookEdit
Create a new notebook edit.
| Parameter | Description |
|---|---|
| range: NotebookRange | A notebook range. |
| newCells: NotebookCellData[] | An array of new cell data. |
| Returns | Description |
| NotebookEdit |
属性
Optional new metadata for the cells.
新单元格:笔记本单元格数据[]
New cells being inserted. May be empty.
Optional new metadata for the notebook.
范围:笔记本范围
Range of the cells being edited. May be empty.
笔记本编辑器
表示一个附加到笔记本上的笔记本编辑器。笔记本编辑器的附加属性在提议的API中提供,该API将在稍后最终确定。
属性
笔记本:笔记本文档
The notebook document associated with this notebook editor.
选择:笔记本范围
The primary selection in this notebook editor.
选择:只读 NotebookRange[]"
All selections in this notebook editor.
The primary selection (or focused range) is selections[0]. When the document has no cells, the primary selection is empty { start: 0, end: 0 };
视图列?:视图列
The column in which this editor shows.
可见范围:只读 笔记本范围[]
The current visible ranges in the editor (vertically).
方法
显示范围(范围: 笔记本范围, 显示类型?: 笔记本编辑器显示类型): 无
Scroll as indicated by revealType in order to reveal the given range.
| Parameter | Description |
|---|---|
| range: NotebookRange | A range. |
| revealType?: NotebookEditorRevealType | The scrolling strategy for revealing |
| Returns | Description |
| void |
笔记本编辑器显示类型
表示一个附加到笔记本上的笔记本编辑器。
枚举成员
The range will be revealed with as little scrolling as possible.
The range will always be revealed in the center of the viewport.
If the range is outside the viewport, it will be revealed in the center of the viewport. Otherwise, it will be revealed with as little scrolling as possible.
The range will always be revealed at the top of the viewport.
笔记本编辑器选择更改事件
表示一个描述 笔记本编辑器选择更改 的事件。
属性
笔记本编辑器:笔记本编辑器
The notebook editor for which the selections have changed.
选择:只读 NotebookRange[]"
The new value for the notebook editor's selections.
笔记本编辑器可见范围更改事件
表示一个描述 笔记本编辑器的可见范围变化的事件。
属性
笔记本编辑器:笔记本编辑器
The notebook editor for which the visible ranges have changed.
可见范围:只读 笔记本范围[]
The new value for the notebook editor's visibleRanges.
笔记本范围
笔记本范围代表了两个单元格索引的有序对。 保证开始小于或等于结束。
构造函数
新的 NotebookRange(开始: 数字, 结束: 数字): NotebookRange
Create a new notebook range. If start is not
before or equal to end, the values will be swapped.
| Parameter | Description |
|---|---|
| start: number | start index |
| end: number | end index. |
| Returns | Description |
| NotebookRange |
属性
The exclusive end index of this range (zero-based).
true if start and end are equal.
The zero-based start index of this range.
方法
with(change: {end: 数字, start: 数字}): NotebookRange
Derive a new range for this range.
| Parameter | Description |
|---|---|
| change: {end: number, start: number} | An object that describes a change to this range. |
| Returns | Description |
| NotebookRange | A range that reflects the given change. Will return |
笔记本渲染器消息
渲染器消息用于与单个渲染器通信。它由notebooks.createRendererMessaging返回。
事件
onDidReceiveMessage:事件<{编辑器:笔记本编辑器,消息:任何}>
An event that fires when a message is received from a renderer.
方法
postMessage(消息: 任何, 编辑器?: 笔记本编辑器): Thenable<布尔值>
Send a message to one or all renderer.
| Parameter | Description |
|---|---|
| message: any | Message to send |
| editor?: NotebookEditor | Editor to target with the message. If not provided, the message is sent to all renderers. |
| Returns | Description |
| Thenable<boolean> | a boolean indicating whether the message was successfully delivered to any renderer. |
笔记本序列化器
笔记本序列化器使编辑器能够打开笔记本文件。
本质上,编辑器只了解笔记本数据结构,但不知道如何将该数据结构写入文件,也不知道如何从文件中读取该数据结构。笔记本序列化器通过将字节反序列化为笔记本数据以及 vice versa 来弥合这一差距。
方法
deserializeNotebook(content: Uint8Array, token: CancellationToken): NotebookData | Thenable(NotebookData)
Deserialize contents of a notebook file into the notebook data structure.
| Parameter | Description |
|---|---|
| content: Uint8Array | Contents of a notebook file. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| NotebookData | Thenable<NotebookData> | Notebook data or a thenable that resolves to such. |
serializeNotebook(data: NotebookData, token: CancellationToken): Uint8Array | Thenable<Uint8Array>
Serialize notebook data into file contents.
| Parameter | Description |
|---|---|
| data: NotebookData | A notebook data structure. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| Uint8Array | Thenable<Uint8Array> | An array of bytes or a thenable that resolves to such. |
进入规则
描述在按 Enter 键时要评估的规则。
属性
动作:输入动作
The action to execute.
This rule will only execute if the text after the cursor matches this regular expression.
This rule will only execute if the text before the cursor matches this regular expression.
This rule will only execute if the text above the current line matches this regular expression.
自动格式化编辑提供者
文档格式化提供者接口定义了扩展和格式化功能之间的契约。
方法
提供基于类型格式化编辑(文档: 文本文档, 位置: 位置, 字符: 字符串, 选项: 格式化选项, 令牌: 取消令牌): 提供者结果<文本编辑[]>
Provide formatting edits after a character has been typed.
The given position and character should hint to the provider
what range the position to expand to, like find the matching {
when } has been entered.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| ch: string | The character that has been typed. |
| options: FormattingOptions | Options controlling formatting. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TextEdit[]> | A set of text edits or a thenable that resolves to such. The lack of a result can be
signaled by returning |
打开对话框选项
配置文件打开对话框行为的选项。
- 注释 1: 在 Windows 和 Linux 上,文件对话框不能同时作为文件选择器和文件夹选择器,因此如果您
将两者都设置为
canSelectFiles和canSelectFolders在这些平台上,将显示一个文件夹选择器。true - 注释2:显式设置
canSelectFiles和canSelectFolders为false是徒劳的,编辑器会自动调整选项以选择文件。
属性
Allow to select files, defaults to true.
Allow to select folders, defaults to false.
Allow to select many files or folders.
默认Uri?:Uri
The resource the dialog shows when opened.
A set of file filters that are used by the dialog. Each entry is a human-readable label, like "TypeScript", and an array of extensions, for example:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
A human-readable string for the open button.
Dialog title.
This parameter might be ignored, as not all operating systems display a title on open dialogs (for example, macOS).
输出通道
输出通道是一个用于只读文本信息的容器。
获取一个OutputChannel的实例,请使用
createOutputChannel。
属性
The human-readable name of this output channel.
方法
Append the given value to the channel.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will not be printed. |
| Returns | Description |
| void |
Append the given value and a line feed character to the channel.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will be printed. |
| Returns | Description |
| void |
Removes all output from the channel.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Dispose and free associated resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hide this channel from the UI.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Replaces all output from the channel with the given value.
| Parameter | Description |
|---|---|
| value: string | A string, falsy values will not be printed. |
| Returns | Description |
| void |
Reveal this channel in the UI.
| Parameter | Description |
|---|---|
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
显示(列?: 查看列, 保持焦点?: 布尔值): 无
Reveal this channel in the UI.
- deprecated - Use the overload with just one parameter (
show(preserveFocus?: boolean): void).
| Parameter | Description |
|---|---|
| column?: ViewColumn | This argument is deprecated and will be ignored. |
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
概述RulerLane
代表在概览标尺中渲染装饰的不同位置。概览标尺支持三条轨道。
枚举成员
The left lane of the overview ruler.
The center lane of the overview ruler.
The right lane of the overview ruler.
All lanes of the overview ruler.
参数信息
表示可调用签名的参数。参数可以有一个标签和一个文档注释。
构造函数
新的参数信息(Tab: 字符串 | [数字, 数字], 文档?: 字符串 | Markdown字符串): 参数信息
Creates a new parameter information object.
| Parameter | Description |
|---|---|
| label: string | [number, number] | A label string or inclusive start and exclusive end offsets within its containing signature label. |
| documentation?: string | MarkdownString | A doc string. |
| Returns | Description |
| ParameterInformation |
属性
文档?:字符串 | Markdown字符串
The human-readable doc-comment of this signature. Will be shown in the UI but can be omitted.
The label of this signature.
Either a string or inclusive start and exclusive end offsets within its containing signature label. Note: A label of type string must be a substring of its containing signature information's label.
职位
构造函数
新位置(行: 数字, 字符: 数字): 位置
| Parameter | Description |
|---|---|
| line: number | A zero-based line value. |
| character: number | A zero-based character value. |
| Returns | Description |
| Position |
属性
The zero-based character value.
Character offsets are expressed using UTF-16 code units.
The zero-based line value.
方法
compareTo(其他: 位置): 数字
Compare this to other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| number | A number smaller than zero if this position is before the given position, a number greater than zero if this position is after the given position, or zero when this and the given position are equal. |
isAfter(其他: Position): 布尔值
Check if this position is after other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| boolean |
|
isAfterOrEqual(其他: 位置): 布尔值
Check if this position is after or equal to other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| boolean |
|
isBefore(其他: 位置): 布尔值
Check if this position is before other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| boolean |
|
isBeforeOrEqual(其他: 位置): 布尔值
Check if this position is before or equal to other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| boolean |
|
isEqual(其他: Position): 布尔值
Check if this position is equal to other.
| Parameter | Description |
|---|---|
| other: Position | A position. |
| Returns | Description |
| boolean |
|
翻译(行增量?: 数字, 字符增量?: 数字): 位置
Create a new position relative to this position.
| Parameter | Description |
|---|---|
| lineDelta?: number | Delta value for the line value, default is |
| characterDelta?: number | Delta value for the character value, default is |
| Returns | Description |
| Position | A position which line and character is the sum of the current line and character and the corresponding deltas. |
翻译(更改: {字符增量: 数字, 行增量: 数字}): 位置
Derived a new position relative to this position.
| Parameter | Description |
|---|---|
| change: {characterDelta: number, lineDelta: number} | An object that describes a delta to this position. |
| Returns | Description |
| Position | A position that reflects the given delta. Will return |
与(行?: 数字, 字符?: 数字): 位置
Create a new position derived from this position.
| Parameter | Description |
|---|---|
| line?: number | Value that should be used as line value, default is the existing value |
| character?: number | Value that should be used as character value, default is the existing value |
| Returns | Description |
| Position | A position where line and character are replaced by the given values. |
with(change: {character: number, line: number}): 位置
Derived a new position from this position.
| Parameter | Description |
|---|---|
| change: {character: number, line: number} | An object that describes a change to this position. |
| Returns | Description |
| Position | A position that reflects the given change. Will return |
准备好的工具调用
属性
确认消息?:语言模型工具确认消息
The presence of this property indicates that the user should be asked to confirm before running the tool. The user should be asked for confirmation for any tool that has a side-effect or may potentially be dangerous.
调用消息?: 字符串 | Markdown字符串
A customized progress message to show while the tool runs.
准备语言模型聊天模型选项
属性
Whether or not the user should be prompted via some UI flow, or if models should be attempted to be resolved silently. If silent is true, all models may not be resolved due to lack of info such as API keys.
进程执行
任务的执行作为一个外部进程在没有与 shell 交互的情况下进行。
构造函数
新的进程执行(进程: 字符串, 选项?: 进程执行选项): 进程执行
Creates a process execution.
| Parameter | Description |
|---|---|
| process: string | The process to start. |
| options?: ProcessExecutionOptions | Optional options for the started process. |
| Returns | Description |
| ProcessExecution |
新的进程执行(进程: 字符串, 参数: 字符串数组, 选项?: 进程执行选项): 进程执行
Creates a process execution.
| Parameter | Description |
|---|---|
| process: string | The process to start. |
| args: string[] | Arguments to be passed to the process. |
| options?: ProcessExecutionOptions | Optional options for the started process. |
| Returns | Description |
| ProcessExecution |
属性
The arguments passed to the process. Defaults to an empty array.
The process options used when the process is executed. Defaults to undefined.
The process to be executed.
进程执行选项
进程执行选项
属性
The current working directory of the executed program or shell. If omitted the tools current workspace root is used.
The additional environment of the executed program or shell. If omitted the parent process' environment is used. If provided it is merged with the parent process' environment.
进度<T>
定义了一种报告进度更新的通用方法。
方法
Report a progress update.
| Parameter | Description |
|---|---|
| value: T | A progress item, like a message and/or an report on how much work finished |
| Returns | Description |
| void |
进度位置
在编辑器中显示进度信息的位置。进度的视觉表示取决于位置。
枚举成员
Show progress for the source control viewlet, as overlay for the icon and as progress bar inside the viewlet (when visible). Neither supports cancellation nor discrete progress nor a label to describe the operation.
Show progress in the status bar of the editor. Neither supports cancellation nor discrete progress.
Supports rendering of theme icons via the $(<name>)-syntax in the progress label.
Show progress as notification with an optional cancel button. Supports to show infinite and discrete progress but does not support rendering of icons.
进度选项
Value-object描述进度应在哪里和如何显示。
属性
Controls if a cancel button should show to allow the user to
cancel the long running operation. Note that currently only
ProgressLocation.Notification is supporting to show a cancel
button.
位置:进度位置 | {视图ID:字符串}
The location at which progress should show.
A human-readable string which will be used to describe the operation.
提供语言模型聊天响应选项
属性
A set of options that control the behavior of the language model. These options are specific to the language model.
工具模式:语言模型聊天工具模式
The tool-selecting mode to use. The provider must implement respecting this.
工具?:只读语言模型聊天工具[]
An optional list of tools that are available to the language model. These could be registered tools available via lm.tools, or private tools that are just implemented within the calling extension.
If the LLM requests to call one of these tools, it will return a LanguageModelToolCallPart in LanguageModelChatResponse.stream. It's the caller's responsibility to invoke the tool. If it's a tool registered in lm.tools, that means calling lm.invokeTool.
Then, the tool result can be provided to the LLM by creating an Assistant-type LanguageModelChatMessage with a LanguageModelToolCallPart, followed by a User-type message with a LanguageModelToolResultPart.
提供者结果<T>
提供者结果表示提供者(例如 HoverProvider)可能返回的值。这可以是实际的结果类型 T,如 Hover,或者解析为此类型的一个 thenable T。此外,null 和 undefined 也可以被返回 - 可能直接返回,或者从一个 thenable 返回。
下面的片段都是 HoverProvider 的有效实现:
let a: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Hover('Hello World');
}
};
let b: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return new Promise(resolve => {
resolve(new Hover('Hello World'));
});
}
};
let c: HoverProvider = {
provideHover(doc, pos, token): ProviderResult<Hover> {
return; // undefined
}
};
ProviderResult:T | 未定义 | 空 | Thenable<T | 未定义 | 空>
伪终端
定义终端pty的接口,使扩展能够控制终端。
事件
onDidChangeName?: 事件<字符串>
An event that when fired allows changing the name of the terminal.
Events fired before Pseudoterminal.open is called will be be ignored.
Example: Change the terminal name to "My new terminal".
const writeEmitter = new vscode.EventEmitter<string>();
const changeNameEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidChangeName: changeNameEmitter.event,
open: () => changeNameEmitter.fire('My new terminal'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
onDidClose?: 事件<数字 | 空>
An event that when fired will signal that the pty is closed and dispose of the terminal.
Events fired before Pseudoterminal.open is called will be be ignored.
A number can be used to provide an exit code for the terminal. Exit codes must be
positive and a non-zero exit codes signals failure which shows a notification for a
regular terminal and allows dependent tasks to proceed when used with the
CustomExecution API.
Example: Exit the terminal when "y" is pressed, otherwise show a notification.
const writeEmitter = new vscode.EventEmitter<string>();
const closeEmitter = new vscode.EventEmitter<void>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidClose: closeEmitter.event,
open: () => writeEmitter.fire('Press y to exit successfully'),
close: () => {},
handleInput: data => {
if (data !== 'y') {
vscode.window.showInformationMessage('Something went wrong');
}
closeEmitter.fire();
}
};
const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
terminal.show(true);
onDidOverrideDimensions?: 事件<终端尺寸>
An event that when fired allows overriding the dimensions of the
terminal. Note that when set, the overridden dimensions will only take effect when they
are lower than the actual dimensions of the terminal (ie. there will never be a scroll
bar). Set to undefined for the terminal to go back to the regular dimensions (fit to
the size of the panel).
Events fired before Pseudoterminal.open is called will be be ignored.
Example: Override the dimensions of a terminal to 20 columns and 10 rows
const dimensionsEmitter = new vscode.EventEmitter<vscode.TerminalDimensions>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
onDidOverrideDimensions: dimensionsEmitter.event,
open: () => {
dimensionsEmitter.fire({
columns: 20,
rows: 10
});
},
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
onDidWrite:事件<字符串>
An event that when fired will write data to the terminal. Unlike Terminal.sendText which sends text to the underlying child pseudo-device (the child), this will write the text to parent pseudo-device (the terminal itself).
Note writing \n will just move the cursor down 1 row, you need to write \r as well
to move the cursor to the left-most cell.
Events fired before Pseudoterminal.open is called will be be ignored.
Example: Write red text to the terminal
const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
onDidWrite: writeEmitter.event,
open: () => writeEmitter.fire('\x1b[31mHello world\x1b[0m'),
close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });
Example: Move the cursor to the 10th row and 20th column and write an asterisk
writeEmitter.fire('\x1b[10;20H*');
方法
Implement to handle when the terminal is closed by an act of the user.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Implement to handle incoming keystrokes in the terminal or when an extension calls
Terminal.sendText. data contains the keystrokes/text serialized into
their corresponding VT sequence representation.
| Parameter | Description |
|---|---|
| data: string | The incoming data. Example: Echo input in the terminal. The sequence for enter (
|
| Returns | Description |
| void |
打开(初始尺寸: 终端尺寸): 无
Implement to handle when the pty is open and ready to start firing events.
| Parameter | Description |
|---|---|
| initialDimensions: TerminalDimensions | The dimensions of the terminal, this will be undefined if the terminal panel has not been opened before this is called. |
| Returns | Description |
| void |
设置尺寸(尺寸: 终端尺寸): 无
Implement to handle when the number of rows and columns that fit into the terminal panel
changes, for example when font size changes or when the panel is resized. The initial
state of a terminal's dimensions should be treated as undefined until this is triggered
as the size of a terminal isn't known until it shows up in the user interface.
When dimensions are overridden by
onDidOverrideDimensions, setDimensions will
continue to be called with the regular panel dimensions, allowing the extension continue
to react dimension changes.
| Parameter | Description |
|---|---|
| dimensions: TerminalDimensions | The new dimensions. |
| Returns | Description |
| void |
快速差异提供者
一个快速的差异提供者提供了一个uri到一个修改资源的原始状态。编辑器将使用此信息在文本内渲染临时差异。
方法
提供原始资源(uri: Uri, 令牌: 取消令牌): 提供者结果<Uri>
Provide a Uri to the original resource of any given resource uri.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the resource open in a text editor. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Uri> | A thenable that resolves to uri of the matching original resource. |
快速输入
所有快速输入类型的基接口。
快速输入为扩展通过简单的用户界面元素与用户互动提供了一种统一的方式。 快速输入用户界面最初是不可见的。通过其属性配置后,扩展可以通过调用show使其可见。
有几个原因可能需要隐藏这个用户界面,并且扩展将通过onDidHide通知。 例如:显式调用 hide,用户按 Esc 键,其他一些输入界面打开等。
用户按回车键或执行其他表示接受当前状态的手势,并不会自动隐藏此UI组件。扩展程序需要决定是否接受用户的输入,并且是否通过调用hide来隐藏UI。
当扩展不再需要此输入用户界面时,它应该销毁它,以允许释放与其相关的任何资源。
事件
onDidHide:事件<无>
属性
Determines if the UI should show a progress indicator. Defaults to false.
Change this to true, for example, while loading more data or validating user input.
Determines if the UI should allow for user input. Defaults to true.
Change this to false, for example, while validating user input or loading data for the next
step in user input.
Determines if the UI should stay open even when losing UI focus. Defaults to false.
This setting is ignored on iPad and is always false.
An optional current step count for multi-step input flows.
An optional title for the input UI.
An optional total step count for multi-step input flows.
方法
Dispose of this input UI and any associated resources.
If it is still visible, it is first hidden. After this call the input UI is no longer functional and no additional methods or properties on it should be accessed. Instead a new input UI should be created.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hides this input UI.
This will also fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Makes the input UI visible in its current configuration.
Any other input UI will first fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
快速输入按钮
属性
图标路径:图标路径
The icon for the button.
位置?:快速输入按钮位置
The location where the button should be rendered.
Defaults to QuickInputButtonLocation.Title.
Note: This property is ignored if the button was added to a QuickPickItem.
When present, indicates that the button is a toggle button that can be checked or unchecked.
| Parameter | Description |
|---|---|
| checked: boolean | Indicates whether the toggle button is currently checked. This property will be updated when the button is toggled. |
An optional tooltip displayed when hovering over the button.
快速输入按钮位置
指定QuickInputButton应渲染的位置。
枚举成员
The button is rendered in the title bar.
The button is rendered inline to the right of the input box.
The button is rendered at the far end inside the input box.
快速输入按钮
静态
返回:快速输入按钮
快速选择<T>
一个具体的QuickInput,允许用户从类型为T的项目列表中选择一个项目。
这些项目可以通过过滤文本字段进行筛选,并且有一个选项 canSelectMany 用于允许选择多个项目。
请注意,在许多情况下,更方便的window.showQuickPick更易于使用。 window.createQuickPick应在window.showQuickPick无法提供所需灵活性时使用。
事件
onDidAccept:事件<无返回值>
An event signaling when the user indicated acceptance of the selected item(s).
onDidChangeActive:事件<只读 T[]>
An event signaling when the active items have changed.
onDidChangeSelection:事件<只读 T[]>
An event signaling when the selected items have changed.
onDidChangeValue:事件<字符串>
An event signaling when the value of the filter text has changed.
onDidHide:事件<无>
An event signaling when a button was triggered.
This event fires for buttons stored in the buttons array. This event does not fire for buttons on a QuickPickItem.
onDidTriggerItemButton:事件<QuickPickItemButtonEvent<T>>
An event signaling when a button in a particular QuickPickItem was triggered.
This event does not fire for buttons in the title bar which are part of buttons.
属性
Active items. This can be read and updated by the extension.
Determines if the UI should show a progress indicator. Defaults to false.
Change this to true, for example, while loading more data or validating user input.
按钮:只读快速输入按钮[]
Buttons for actions in the UI.
Determines if multiple items can be selected at the same time. Defaults to false.
Determines if the UI should allow for user input. Defaults to true.
Change this to false, for example, while validating user input or loading data for the next
step in user input.
Determines if the UI should stay open even when losing UI focus. Defaults to false.
This setting is ignored on iPad and is always false.
Items to pick from. This can be read and updated by the extension.
Determines if the scroll position is maintained when the quick pick items are updated. Defaults to false.
Determines if the filter text should also be matched against the description of the items. Defaults to false.
Determines if the filter text should also be matched against the detail of the items. Defaults to false.
Optional placeholder text displayed in the filter text box when no value has been entered.
Optional text that provides instructions or context to the user.
The prompt is displayed below the input box and above the list of items.
Selected items. This can be read and updated by the extension.
An optional current step count for multi-step input flows.
An optional title for the input UI.
An optional total step count for multi-step input flows.
The current value of the filter text.
方法
Dispose of this input UI and any associated resources.
If it is still visible, it is first hidden. After this call the input UI is no longer functional and no additional methods or properties on it should be accessed. Instead a new input UI should be created.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hides this input UI.
This will also fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Makes the input UI visible in its current configuration.
Any other input UI will first fire an onDidHide event.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
快速选择项目
代表一个可以从项目列表中选择的项目。
属性
Determines if this item is always shown, even when filtered out by the user's input.
Note: This property is ignored when kind is set to QuickPickItemKind.Separator.
按钮?:只读 QuickInputButton[]
Optional buttons that will be rendered on this particular item.
These buttons will trigger an QuickPickItemButtonEvent when pressed. Buttons are only rendered when using a quick pick created by the createQuickPick API. Buttons are not rendered when using the showQuickPick API.
Note: This property is ignored when kind is set to QuickPickItemKind.Separator.
A human-readable string which is rendered less prominently in the same line.
Supports rendering of theme icons via the $(<name>)-syntax.
Note: This property is ignored when kind is set to QuickPickItemKind.Separator.
A human-readable string which is rendered less prominently in a separate line.
Supports rendering of theme icons via the $(<name>)-syntax.
Note: This property is ignored when kind is set to QuickPickItemKind.Separator.
图标路径?: 图标路径
The icon for the item.
种类?:快速选择项目种类
The kind of this item that determines how it is rendered in the quick pick.
When not specified, the default is QuickPickItemKind.Default.
A human-readable string which is rendered prominently.
Supports rendering of theme icons via the $(<name>)-syntax.
Note: When kind is set to QuickPickItemKind.Default (so a regular
item instead of a separator), it supports rendering of theme icons via the
$(<name>)-syntax.
Optional flag indicating if this item is initially selected.
This is only honored when using the showQuickPick API. To do the same thing with the createQuickPick API, simply set the selectedItems to the items you want selected initially.
Note: This is only honored when the picker allows multiple selections.
See also QuickPickOptions.canPickMany
Note: This property is ignored when kind is set to QuickPickItemKind.Separator.
资源Uri?: Uri
A Uri representing the resource associated with this item.
When set, this property is used to automatically derive several item properties if they are not explicitly provided:
- Label: Derived from the resource's file name when label is not provided or is empty.
- Description: Derived from the resource's path when description is not provided or is empty.
- Icon: Derived from the current file icon theme when iconPath is set to ThemeIcon.File or ThemeIcon.Folder.
快速选择项目按钮事件<T>
一个描述在QuickPickItem上按下按钮的事件。
属性
按钮:快速输入按钮
The button that was pressed.
The item that the button belongs to.
快速选择项目类型
定义了 快速选择项目的类型。
枚举成员
A separator item that provides a visual grouping.
When a QuickPickItem has a kind of Separator, the item is just a visual separator and does not represent a selectable item. The only property that applies is label. All other properties on QuickPickItem will be ignored and have no effect.
The default kind for an item that can be selected in the quick pick.
快速选择选项
配置快速选择用户界面的行为选项。
事件
onDidSelectItem(项目: 字符串 | QuickPickItem): 任何
An optional function that is invoked whenever an item is selected.
| Parameter | Description |
|---|---|
| item: string | QuickPickItem | |
| Returns | Description |
| any |
属性
Determines if the picker allows multiple selections. When true, the result is an array of picks.
Set to true to keep the picker open when focus moves to another part of the editor or to another window.
This setting is ignored on iPad and is always false.
Determines if the description should be included when filtering items. Defaults to false.
Determines if the detail should be included when filtering items. Defaults to false.
An optional string to show as placeholder in the input box to guide the user.
Optional text that provides instructions or context to the user.
The prompt is displayed below the input box and above the list of items.
An optional title for the quick pick.
范围
一段范围代表两个位置的有序对。 保证开始.isBeforeOrEqual(结束)
范围对象是不可变的。使用with、 intersection或union方法从现有范围派生新范围。
构造函数
Create a new range from two positions. If start is not
before or equal to end, the values will be swapped.
新范围(起始行: 数字, 起始字符: 数字, 结束行: 数字, 结束字符: 数字): 范围
Create a new range from number coordinates. It is a shorter equivalent of
using new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))
| Parameter | Description |
|---|---|
| startLine: number | A zero-based line value. |
| startCharacter: number | A zero-based character value. |
| endLine: number | A zero-based line value. |
| endCharacter: number | A zero-based character value. |
| Returns | Description |
| Range |
属性
结束:位置
The end position. It is after or equal to start.
true if start and end are equal.
true if start.line and end.line are equal.
开始:位置
The start position. It is before or equal to end.
方法
Check if a position or a range is contained in this range.
Intersect range with this range and returns a new range or undefined
if the ranges have no overlap.
isEqual(其他: 范围): 布尔值
Check if other equals this range.
Compute the union of other with this range.
Derived a new range from this range.
| Parameter | Description |
|---|---|
| start?: Position | A position that should be used as start. The default value is the current start. |
| end?: Position | A position that should be used as end. The default value is the current end. |
| Returns | Description |
| Range | A range derived from this range with the given start and end position.
If start and end are not different |
with(change: {end: 位置, start: 位置}): 范围
Derived a new range from this range.
参考上下文
值对象,当请求引用时包含附加信息。
属性
Include the declaration of the current symbol.
参考提供者
参考提供者接口定义了扩展与查找引用功能之间的合同。
方法
提供参考(文档: 文本文档, 位置: 位置, 上下文: 参考上下文, 令牌: 取消令牌): 提供者结果<位置[]>
Provide a set of project-wide references for the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| context: ReferenceContext | Additional information about the references request. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Location[]> | An array of locations or a thenable that resolves to such. The lack of a result can be
signaled by returning |
相对模式
相对模式是用于构建相对于基准文件路径的全局模式的助手。基准路径可以是字符串形式的绝对文件路径或uri,或者是一个工作区文件夹,这是创建相对模式的首选方式。
构造函数
新的相对模式(基础: 字符串 | Uri | 工作区文件夹, 模式: 字符串): 相对模式
Creates a new relative pattern object with a base file path and pattern to match. This pattern will be matched on file paths relative to the base.
Example:
const folder = vscode.workspace.workspaceFolders?.[0];
if (folder) {
// Match any TypeScript file in the root of this workspace folder
const pattern1 = new vscode.RelativePattern(folder, '*.ts');
// Match any TypeScript file in `someFolder` inside this workspace folder
const pattern2 = new vscode.RelativePattern(folder, 'someFolder/*.ts');
}
| Parameter | Description |
|---|---|
| base: string | Uri | WorkspaceFolder | A base to which this pattern will be matched against relatively. It is recommended to pass in a workspace folder if the pattern should match inside the workspace. Otherwise, a uri or string should only be used if the pattern is for a file path outside the workspace. |
| pattern: string | A file glob pattern like |
| Returns | Description |
| RelativePattern |
属性
A base file path to which this pattern will be matched against relatively.
This matches the fsPath value of RelativePattern.baseUri.
Note: updating this value will update RelativePattern.baseUri to
be a uri with file scheme.
- deprecated - This property is deprecated, please use RelativePattern.baseUri instead.
基础Uri:Uri
A base file path to which this pattern will be matched against relatively. The
file path must be absolute, should not have any trailing path separators and
not include any relative segments (. or ..).
A file glob pattern like *.{ts,js} that will be matched on file paths
relative to the base path.
Example: Given a base of /home/work/folder and a file path of /home/work/folder/index.js,
the file glob pattern will match on index.js.
重命名提供者
重命名提供程序接口定义了扩展与重命名功能之间的合同。
方法
准备重命名(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<范围 | {占位符: 字符串, 范围: 范围}>
Optional function for resolving and validating a position before running rename. The result can be a range or a range and a placeholder text. The placeholder text should be the identifier of the symbol which is being renamed - when omitted the text in the returned range is used.
Note: This function should throw an error or return a rejected thenable when the provided location doesn't allow for a rename.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which rename will be invoked. |
| position: Position | The position at which rename will be invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Range | {placeholder: string, range: Range}> | The range or range and placeholder text of the identifier that is to be renamed. The lack of a result can signaled by returning |
提供重命名编辑(文档: 文本文档, 位置: 位置, 新名称: 字符串, 令牌: 取消令牌): 提供者结果<工作区编辑>
Provide an edit that describes changes that have to be made to one or many resources to rename a symbol to a different name.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| newName: string | The new name of the symbol. If the given name is not valid, the provider must return a rejected promise. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<WorkspaceEdit> | A workspace edit or a thenable that resolves to such. The lack of a result can be
signaled by returning |
运行选项
任务的运行选项。
属性
Controls whether task variables are re-evaluated on rerun.
保存对话框选项
配置文件保存对话框行为的选项。
属性
默认Uri?:Uri
The resource the dialog shows when opened.
A set of file filters that are used by the dialog. Each entry is a human-readable label, like "TypeScript", and an array of extensions, for example:
{
'Images': ['png', 'jpg'],
'TypeScript': ['ts', 'tsx']
}
A human-readable string for the save button.
Dialog title.
This parameter might be ignored, as not all operating systems display a title on save dialogs (for example, macOS).
秘密存储
代表一个用于存储加密后秘密(或任何敏感信息)的实用工具。每个平台上的秘密存储实现方式不同,秘密不会在不同机器之间同步。
事件
onDidChange:事件<SecretStorageChangeEvent>
Fires when a secret is stored or deleted.
方法
Remove a secret from storage.
| Parameter | Description |
|---|---|
| key: string | The key the secret was stored under. |
| Returns | Description |
| Thenable<void> |
Retrieve a secret that was stored with key. Returns undefined if there is no password matching that key.
| Parameter | Description |
|---|---|
| key: string | The key the secret was stored under. |
| Returns | Description |
| Thenable<string> | The stored value or |
Retrieve the keys of all the secrets stored by this extension.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<string[]> |
存储(键: 字符串, 值: 字符串): Thenable<无>
Store a secret under a given key.
| Parameter | Description |
|---|---|
| key: string | The key to store the secret under. |
| value: string | The secret. |
| Returns | Description |
| Thenable<void> |
秘密存储更改事件
当添加或删除秘密时触发的事件数据。
属性
The key of the secret that has changed.
已选择的完成信息
描述当前选择的完成项。
属性
范围:范围
The range that will be replaced if this completion item is accepted.
The text the range will be replaced with if this completion is accepted.
选择
表示编辑器中的文本选择。
构造函数
Create a selection from two positions.
新选择(锚定行: 数字, 锚定字符: 数字, 活动行: 数字, 活动字符: 数字): 选择
Create a selection from four coordinates.
| Parameter | Description |
|---|---|
| anchorLine: number | A zero-based line value. |
| anchorCharacter: number | A zero-based character value. |
| activeLine: number | A zero-based line value. |
| activeCharacter: number | A zero-based character value. |
| Returns | Description |
| Selection |
属性
活跃:位置
The position of the cursor. This position might be before or after anchor.
锚:位置
The position at which the selection starts. This position might be before or after active.
结束:位置
The end position. It is after or equal to start.
true if start and end are equal.
true if start.line and end.line are equal.
开始:位置
The start position. It is before or equal to end.
方法
Check if a position or a range is contained in this range.
Intersect range with this range and returns a new range or undefined
if the ranges have no overlap.
isEqual(其他: 范围): 布尔值
Check if other equals this range.
Compute the union of other with this range.
Derived a new range from this range.
| Parameter | Description |
|---|---|
| start?: Position | A position that should be used as start. The default value is the current start. |
| end?: Position | A position that should be used as end. The default value is the current end. |
| Returns | Description |
| Range | A range derived from this range with the given start and end position.
If start and end are not different |
with(change: {end: 位置, start: 位置}): 范围
Derived a new range from this range.
选择范围
选择范围表示选择层次结构的一部分。选择范围 可能有一个包含它的父选择范围。
构造函数
新的选择范围(范围: Range, 父级?: 选择范围): 选择范围
Creates a new selection range.
| Parameter | Description |
|---|---|
| range: Range | The range of the selection range. |
| parent?: SelectionRange | The parent of the selection range. |
| Returns | Description |
| SelectionRange |
属性
父级?: 选择范围
The parent selection range containing this range.
范围:范围
The Range of this selection range.
选择范围提供者
选择范围提供程序接口定义了扩展和缩小选择功能与扩展之间的合同。
方法
提供选择范围(文档: 文本文档, 位置: 只读 位置[], 令牌: 取消令牌): 提供者结果<选择范围[]>
Provide selection ranges for the given positions.
Selection ranges should be computed individually and independent for each position. The editor will merge and deduplicate ranges but providers must return hierarchies of selection ranges so that a range is contained by its parent.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| positions: readonly Position[] | The positions at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<SelectionRange[]> | Selection ranges or a thenable that resolves to such. The lack of a result can be
signaled by returning |
语义令牌
构造函数
新的语义令牌(数据: Uint32数组, 结果ID?: 字符串): 语义令牌
Create new semantic tokens.
| Parameter | Description |
|---|---|
| data: Uint32Array | Token data. |
| resultId?: string | Result identifier. |
| Returns | Description |
| SemanticTokens |
属性
The actual tokens data.
See also provideDocumentSemanticTokens for an explanation of the format.
The result id of the tokens.
This is the id that will be passed to DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (if implemented).
语义令牌生成器
一个语义令牌构建器可以帮助创建一个SemanticTokens实例,其中包含增量编码的语义令牌。
构造函数
新的SemanticTokensBuilder(图例?: SemanticTokensLegend): SemanticTokensBuilder
Creates a semantic tokens builder.
| Parameter | Description |
|---|---|
| legend?: SemanticTokensLegend | A semantic tokens legend. |
| Returns | Description |
| SemanticTokensBuilder |
方法
构建(结果ID?: 字符串): 语义令牌
Finish and create a SemanticTokens instance.
| Parameter | Description |
|---|---|
| resultId?: string | |
| Returns | Description |
| SemanticTokens |
推送(行: 数字, 字符: 数字, 长度: 数字, 令牌类型: 数字, 令牌修饰符?: 数字): 无
Add another token.
| Parameter | Description |
|---|---|
| line: number | The token start line number (absolute value). |
| char: number | The token start character (absolute value). |
| length: number | The token length in characters. |
| tokenType: number | The encoded token type. |
| tokenModifiers?: number | The encoded token modifiers. |
| Returns | Description |
| void |
推(范围: 范围, 令牌类型: 字符串, 令牌修饰符?: 只读 字符串[]): 无
Add another token. Use only when providing a legend.
| Parameter | Description |
|---|---|
| range: Range | The range of the token. Must be single-line. |
| tokenType: string | The token type. |
| tokenModifiers?: readonly string[] | The token modifiers. |
| Returns | Description |
| void |
语义令牌编辑
表示对语义标记的编辑。
另见 提供文档语义标记编辑 以了解格式。
构造函数
新的语义标记编辑(开始: 数字, 删除计数: 数字, 数据?: Uint32数组): 语义标记编辑
Create a semantic token edit.
| Parameter | Description |
|---|---|
| start: number | Start offset |
| deleteCount: number | Number of elements to remove. |
| data?: Uint32Array | Elements to insert |
| Returns | Description |
| SemanticTokensEdit |
属性
The elements to insert.
The count of elements to remove.
The start offset of the edit.
语义令牌编辑
表示对语义标记的编辑。
另见 提供文档语义标记编辑 以了解格式。
构造函数
新的语义标记编辑(编辑: 语义标记编辑[], 结果ID?: 字符串): 语义标记编辑
Create new semantic tokens edits.
| Parameter | Description |
|---|---|
| edits: SemanticTokensEdit[] | An array of semantic token edits |
| resultId?: string | Result identifier. |
| Returns | Description |
| SemanticTokensEdits |
属性
编辑:SemanticTokensEdit[]
The edits to the tokens data. All edits refer to the initial data state.
The result id of the tokens.
This is the id that will be passed to DocumentSemanticTokensProvider.provideDocumentSemanticTokensEdits (if implemented).
语义令牌图例
语义令牌图例包含了解码语义令牌整数编码表示所需的信息。
构造函数
新的语义标记(标记类型: 字符串[], 标记修饰符?: 字符串[]): 语义标记
Creates a semantic tokens legend.
| Parameter | Description |
|---|---|
| tokenTypes: string[] | An array of token types. |
| tokenModifiers?: string[] | An array of token modifiers. |
| Returns | Description |
| SemanticTokensLegend |
属性
The possible token modifiers.
The possible token types.
外壳执行
代表在 shell 内部执行的任务。
构造函数
新的 ShellExecution(命令行: 字符串, 选项?: ShellExecution选项): ShellExecution
Creates a shell execution with a full command line.
| Parameter | Description |
|---|---|
| commandLine: string | The command line to execute. |
| options?: ShellExecutionOptions | Optional options for the started the shell. |
| Returns | Description |
| ShellExecution |
新的 ShellExecution(命令: 字符串 | ShellQuotedString, 参数: 数组<字符串 | ShellQuotedString>, 选项?: ShellExecutionOptions): ShellExecution
Creates a shell execution with a command and arguments. For the real execution the editor will
construct a command line from the command and the arguments. This is subject to interpretation
especially when it comes to quoting. If full control over the command line is needed please
use the constructor that creates a ShellExecution with the full command line.
| Parameter | Description |
|---|---|
| command: string | ShellQuotedString | The command to execute. |
| args: Array<string | ShellQuotedString> | The command arguments. |
| options?: ShellExecutionOptions | Optional options for the started the shell. |
| Returns | Description |
| ShellExecution |
属性
参数:数组<字符串 | Shell引用字符串>
The shell args. Is undefined if created with a full command line.
命令:字符串 | ShellQuotedString
The shell command. Is undefined if created with a full command line.
The shell command line. Is undefined if created with a command and arguments.
选项?:Shell执行选项
The shell options used when the command line is executed in a shell. Defaults to undefined.
外壳执行选项
执行 shell 的选项
属性
The current working directory of the executed shell. If omitted the tools current workspace root is used.
The additional environment of the executed shell. If omitted the parent process' environment is used. If provided it is merged with the parent process' environment.
The shell executable.
The arguments to be passed to the shell executable used to run the task. Most shells
require special arguments to execute a command. For example bash requires the -c
argument to execute a command, PowerShell requires -Command and cmd requires both
/d and /c.
外壳引用?: 外壳引用选项
The shell quotes supported by this shell.
壳引用字符串
一个将根据使用的 shell 而被引用的字符串。
属性
引用:Shell引用
The quoting style to use.
The actual string value.
外壳引用
定义了如果参数包含空格或不支持的字符,应该如何引用。
枚举成员
Character escaping should be used. This for example uses \ on bash and ` on PowerShell.
Strong string quoting should be used. This for example
uses " for Windows cmd and ' for bash and PowerShell.
Strong quoting treats arguments as literal strings.
Under PowerShell echo 'The value is $(2 * 3)' will
print The value is $(2 * 3)
Weak string quoting should be used. This for example
uses " for Windows cmd, bash and PowerShell. Weak quoting
still performs some kind of evaluation inside the quoted
string. Under PowerShell echo "The value is $(2 * 3)"
will print The value is 6
外壳引用选项
外壳引用选项。
属性
转义?:字符串 | {要转义的字符: 字符串, 转义字符: 字符串}
The character used to do character escaping. If a string is provided only spaces
are escaped. If a { escapeChar, charsToEscape } literal is provide all characters
in charsToEscape are escaped using the escapeChar.
The character used for strong quoting. The string's length must be 1.
The character used for weak quoting. The string's length must be 1.
签名帮助
Signature帮助表示可调用项的签名。可以有多个签名,但只有一个活动签名和一个活动参数。
构造函数
新的签名帮助():签名帮助
| Parameter | Description |
|---|---|
| Returns | Description |
| SignatureHelp |
属性
The active parameter of the active signature.
The active signature.
签名:SignatureInformation[]
One or more signatures.
签名帮助上下文
关于 触发的上下文的附加信息。SignatureHelpProvider
属性
活跃签名帮助:签名帮助
The currently active SignatureHelp.
The activeSignatureHelp has its activeSignature field updated based on
the user arrowing through available signatures.
true if signature help was already showing when it was triggered.
Retriggers occur when the signature help is already active and can be caused by actions such as typing a trigger character, a cursor move, or document content changes.
Character that caused signature help to be triggered.
This is undefined when signature help is not triggered by typing, such as when manually invoking
signature help or when moving the cursor.
触发类型:签名帮助触发类型
Action that caused signature help to be triggered.
签名帮助提供者
签名帮助提供程序接口定义了扩展与参数提示功能之间的合同。
方法
提供签名帮助(文档: 文本文档, 位置: 位置, 令牌: 取消令牌, 上下文: 签名帮助上下文): 提供者结果<签名帮助>
Provide help for the signature at the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| context: SignatureHelpContext | Information about how signature help was triggered. |
| Returns | Description |
| ProviderResult<SignatureHelp> | Signature help or a thenable that resolves to such. The lack of a result can be
signaled by returning |
签名帮助提供程序元数据
关于已注册的SignatureHelpProvider的元数据。
属性
List of characters that re-trigger signature help.
These trigger characters are only active when signature help is already showing. All trigger characters are also counted as re-trigger characters.
List of characters that trigger signature help.
签名帮助触发类型
枚举成员
Signature help was invoked manually by the user or by a command.
Signature help was triggered by a trigger character.
Signature help was triggered by the cursor moving or by the document content changing.
签名信息
表示可调用事物的签名。签名可以有一个标签,比如函数名、文档注释和参数集。
构造函数
新的SignatureInformation(Tab: 字符串, 文档?: 字符串 | Markdown字符串): SignatureInformation
Creates a new signature information object.
| Parameter | Description |
|---|---|
| label: string | A label string. |
| documentation?: string | MarkdownString | A doc string. |
| Returns | Description |
| SignatureInformation |
属性
The index of the active parameter.
If provided, this is used in place of SignatureHelp.activeParameter.
文档?:字符串 | Markdown字符串
The human-readable doc-comment of this signature. Will be shown in the UI but can be omitted.
The label of this signature. Will be shown in the UI.
参数:参数信息[]
The parameters of this signature.
片段字符串
片段字符串是一个模板,允许插入文本并在插入时控制编辑器光标。
片段可以定义制表位和占位符,使用 $1、$2
和 ${3:foo}。$0定义了最终的制表位,它默认为片段的末尾。变量使用 $name和
${name:default value}定义。另见
完整的片段语法。
构造函数
新的 SnippetString(值?: 字符串): SnippetString
Create a new snippet string.
| Parameter | Description |
|---|---|
| value?: string | A snippet string. |
| Returns | Description |
| SnippetString |
属性
The snippet string.
方法
appendChoice(values: 只读 字符串[], 数字?: 数字): 片段字符串
Builder-function that appends a choice (${1|a,b,c|}) to
the value of this snippet string.
| Parameter | Description |
|---|---|
| values: readonly string[] | The values for choices - the array of strings |
| number?: number | The number of this tabstop, defaults to an auto-increment value starting at 1. |
| Returns | Description |
| SnippetString | This snippet string. |
appendPlaceholder(value: 字符串 | (片段: FragmentString) => 任何, 数字?: 数字): FragmentString
Builder-function that appends a placeholder (${1:value}) to
the value of this snippet string.
| Parameter | Description |
|---|---|
| value: string | (snippet: SnippetString) => any | The value of this placeholder - either a string or a function with which a nested snippet can be created. |
| number?: number | The number of this tabstop, defaults to an auto-increment value starting at 1. |
| Returns | Description |
| SnippetString | This snippet string. |
appendTabstop(数字?: 数字): 片段字符串
Builder-function that appends a tabstop ($1, $2 etc) to
the value of this snippet string.
| Parameter | Description |
|---|---|
| number?: number | The number of this tabstop, defaults to an auto-increment value starting at 1. |
| Returns | Description |
| SnippetString | This snippet string. |
追加文本(字符串: 字符串): 片段字符串
Builder-function that appends the given string to the value of this snippet string.
| Parameter | Description |
|---|---|
| string: string | A value to append 'as given'. The string will be escaped. |
| Returns | Description |
| SnippetString | This snippet string. |
appendVariable(name: 字符串, defaultValue: 字符串 | (snippet: 代码片段字符串) => 任何): 代码片段字符串
Builder-function that appends a variable (${VAR}) to
the value of this snippet string.
| Parameter | Description |
|---|---|
| name: string | The name of the variable - excluding the |
| defaultValue: string | (snippet: SnippetString) => any | The default value which is used when the variable name cannot be resolved - either a string or a function with which a nested snippet can be created. |
| Returns | Description |
| SnippetString | This snippet string. |
片段文本编辑
片段编辑表示由编辑执行的交互式编辑。
注意,片段编辑始终可以作为普通的文本编辑进行。 当没有打开匹配的编辑器或工作区编辑 包含多个文件的片段编辑时,就会发生这种情况。在这种情况下,只有与当前编辑器匹配的才会作为片段编辑进行,其他的则作为普通的文本编辑进行。
静态
Utility to create an insert snippet edit.
| Parameter | Description |
|---|---|
| position: Position | A position, will become an empty range. |
| snippet: SnippetString | A snippet string. |
| Returns | Description |
| SnippetTextEdit | A new snippet edit object. |
Utility to create a replace snippet edit.
| Parameter | Description |
|---|---|
| range: Range | A range. |
| snippet: SnippetString | A snippet string. |
| Returns | Description |
| SnippetTextEdit | A new snippet edit object. |
构造函数
新的 SnippetTextEdit(范围: Range, 片段: SnippetString): SnippetTextEdit
Create a new snippet edit.
| Parameter | Description |
|---|---|
| range: Range | A range. |
| snippet: SnippetString | A snippet string. |
| Returns | Description |
| SnippetTextEdit |
属性
Whether the snippet edit should be applied with existing whitespace preserved.
范围:范围
The range this edit applies to.
片段:片段字符串
The snippet this edit will perform.
源断点
由源位置指定的断点。
构造函数
新的SourceBreakpoint(位置:位置,启用?:布尔值,条件?:字符串,命中条件?:字符串,日志消息?:字符串):SourceBreakpoint
Create a new breakpoint for a source location.
| Parameter | Description |
|---|---|
| location: Location | |
| enabled?: boolean | |
| condition?: string | |
| hitCondition?: string | |
| logMessage?: string | |
| Returns | Description |
| SourceBreakpoint |
属性
An optional expression for conditional breakpoints.
Is breakpoint enabled.
An optional expression that controls how many hits of the breakpoint are ignored.
The unique ID of the breakpoint.
位置:位置
The source and line position of this breakpoint.
An optional message that gets logged when this breakpoint is hit. Embedded expressions within {} are interpolated by the debug adapter.
源代码管理
一个源代码管理工具能够提供资源状态 给编辑器,并且以几种与源代码管理相关的方式与编辑器进行交互。
属性
接受输入命令?:命令
Optional accept input command.
This command will be invoked when the user accepts the value in the Source Control input.
Optional commit template string.
The Source Control viewlet will populate the Source Control input with this value when appropriate.
The UI-visible count of resource states of this source control.
If undefined, this source control will
- display its UI-visible count as zero, and
- contribute the count of its resource states to the UI-visible aggregated count for all source controls
The id of this source control.
输入框:源控制输入框
The input box for this source control.
The human-readable label of this source control.
快速差异提供者?: 快速差异提供者
An optional quick diff provider.
根Uri:Uri
The (optional) Uri of the root of this source control.
状态栏命令?:命令[]
Optional status bar commands.
These commands will be displayed in the editor's status bar.
方法
创建资源组(id: 字符串, Tab: 字符串): 源控制资源组
Create a new resource group.
| Parameter | Description |
|---|---|
| id: string | |
| label: string | |
| Returns | Description |
| SourceControlResourceGroup |
Dispose this source control.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
源代码控制输入框
代表源控制视图中的输入框。
属性
Controls whether the input box is enabled (default is true).
A string to show as placeholder in the input box to guide the user.
Setter and getter for the contents of the input box.
Controls whether the input box is visible (default is true).
源代码控制资源装饰
源控制资源状态的装饰。可以为浅色和深色主题分别独立指定。
属性
The dark theme decorations.
Whether the source control resource state should be faded in the UI.
The icon path for a specific source control resource state.
光?:SourceControlResource Themable Decorations
The light theme decorations.
Whether the source control resource state should be striked-through in the UI.
The title for a specific source control resource state.
源代码控制资源组
源代码控制资源组是一组 源代码控制资源状态。
属性
Context value of the resource group. This can be used to contribute resource group specific actions.
For example, if a resource group is given a context value of exportable, when contributing actions to scm/resourceGroup/context
using menus extension point, you can specify context value for key scmResourceGroupState in when expressions, like scmResourceGroupState == exportable.
"contributes": {
"menus": {
"scm/resourceGroup/context": [
{
"command": "extension.export",
"when": "scmResourceGroupState == exportable"
}
]
}
}
This will show action extension.export only for resource groups with contextValue equal to exportable.
Whether this source control resource group is hidden when it contains no source control resource states.
The id of this source control resource group.
The label of this source control resource group.
资源状态:源控制资源状态[]{}
This group's collection of source control resource states.
方法
Dispose this source control resource group.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
源控制资源状态
源代码控制资源状态表示在特定 源代码控制组中的底层工作区资源的状态。
属性
命令?:命令
The Command which should be run when the resource state is open in the Source Control viewlet.
Context value of the resource state. This can be used to contribute resource specific actions.
For example, if a resource is given a context value as diffable. When contributing actions to scm/resourceState/context
using menus extension point, you can specify context value for key scmResourceState in when expressions, like scmResourceState == diffable.
"contributes": {
"menus": {
"scm/resourceState/context": [
{
"command": "extension.diff",
"when": "scmResourceState == diffable"
}
]
}
}
This will show action extension.diff only for resources with contextValue is diffable.
装饰?:SourceControlResourceDecorations
The decorations for this source control resource state.
资源Uri:Uri
The Uri of the underlying resource inside the workspace.
源代码控制资源主题化装饰
属性
The icon path for a specific source control resource state.
语句覆盖
包含有关单个语句或行的覆盖信息。
构造函数
新的语句覆盖(已执行: 数字 | 布尔值, 位置: 范围 | 位置, 分支?: 分支覆盖[]): 语句覆盖
| Parameter | Description |
|---|---|
| executed: number | boolean | The number of times this statement was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the statement will be marked as un-covered. |
| location: Range | Position | The statement position. |
| branches?: BranchCoverage[] | Coverage from branches of this line. If it's not a conditional, this should be omitted. |
| Returns | Description |
| StatementCoverage |
属性
分支:分支覆盖[]
Coverage from branches of this line or statement. If it's not a conditional, this will be empty.
The number of times this statement was executed, or a boolean indicating whether it was executed if the exact count is unknown. If zero or false, the statement will be marked as un-covered.
Statement location.
状态栏对齐方式
表示状态栏项目的对齐方式。
枚举成员
Aligned to the left side.
Aligned to the right side.
状态栏项目
状态栏项是一个状态栏贡献,可以显示文本和图标,并在点击时运行命令。
属性
无障碍信息:无障碍信息
Accessibility information used when a screen reader interacts with this StatusBar item
The alignment of this item.
backgroundColor:ThemeColor
The background color for this entry.
Note: only the following colors are supported:
new ThemeColor('statusBarItem.errorBackground')new ThemeColor('statusBarItem.warningBackground')
More background colors may be supported in the future.
Note: when a background color is set, the statusbar may override
the color choice to ensure the entry is readable in all themes.
颜色:字符串 | 主题颜色
The foreground color for this entry.
命令:字符串 | 命令
The identifier of this item.
Note: if no identifier was provided by the window.createStatusBarItem method, the identifier will match the extension identifier.
The name of the entry, like 'Python Language Indicator', 'Git Status' etc. Try to keep the length of the name short, yet descriptive enough that users can understand what the status bar item is about.
The priority of this item. Higher value means the item should be shown more to the left.
The text to show for the entry. You can embed icons in the text by leveraging the syntax:
My text $(icon-name) contains icons like $(icon-name) this one.
Where the icon-name is taken from the ThemeIcon icon set, e.g.
light-bulb, thumbsup, zap etc.
工具提示: 字符串 | Markdown字符串
The tooltip text when you hover over this entry.
方法
Dispose and free associated resources. Call hide.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hide the entry in the status bar.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Shows the entry in the status bar.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
符号信息
表示有关变量、类、接口等编程构造的信息。
构造函数
新的SymbolInformation(名称: 字符串, 种类: SymbolKind, 容器名称: 字符串, 位置: Location): SymbolInformation
Creates a new symbol information object.
| Parameter | Description |
|---|---|
| name: string | The name of the symbol. |
| kind: SymbolKind | The kind of the symbol. |
| containerName: string | The name of the symbol containing the symbol. |
| location: Location | The location of the symbol. |
| Returns | Description |
| SymbolInformation |
新的SymbolInformation(名称: 字符串, 种类: SymbolKind, 范围: Range, uri?: Uri, 容器名称?: 字符串): SymbolInformation
Creates a new symbol information object.
- deprecated - Please use the constructor taking a Location object.
| Parameter | Description |
|---|---|
| name: string | The name of the symbol. |
| kind: SymbolKind | The kind of the symbol. |
| range: Range | The range of the location of the symbol. |
| uri?: Uri | The resource of the location of symbol, defaults to the current document. |
| containerName?: string | The name of the symbol containing the symbol. |
| Returns | Description |
| SymbolInformation |
属性
The name of the symbol containing this symbol.
种类:SymbolKind
The kind of this symbol.
位置:位置
The location of this symbol.
The name of this symbol.
Tab?:只读 SymbolTag[]{}
Tags for this symbol.
符号种类
一种符号。
枚举成员
The File symbol kind.
The Module symbol kind.
The Namespace symbol kind.
The Package symbol kind.
The Class symbol kind.
The Method symbol kind.
The Property symbol kind.
The Field symbol kind.
The Constructor symbol kind.
The Enum symbol kind.
The Interface symbol kind.
The Function symbol kind.
The Variable symbol kind.
The Constant symbol kind.
The String symbol kind.
The Number symbol kind.
The Boolean symbol kind.
The Array symbol kind.
The Object symbol kind.
The Key symbol kind.
The Null symbol kind.
The EnumMember symbol kind.
The Struct symbol kind.
The Event symbol kind.
The Operator symbol kind.
The TypeParameter symbol kind.
符号标签
符号标签是用于调整符号渲染的额外注释。
枚举成员
Render a symbol as obsolete, usually using a strike-out.
语法令牌类型
常见语法标记类型的枚举。
枚举成员
Everything except tokens that are part of comments, string literals and regular expressions.
A comment.
A string literal.
A regular expression.
Tab
代表一个 标签组中的标签。 标签只是编辑区域中的图形表示。 一个支持编辑器并不保证。
属性
组:标签组
The group which the tab belongs to.
Defines the structure of the tab i.e. text, notebook, custom, etc. Resource and other useful properties are defined on the tab kind.
Whether or not the tab is currently active. This is dictated by being the selected tab in the group.
Whether or not the dirty indicator is present on the tab.
Whether or not the tab is pinned (pin icon is present).
Whether or not the tab is in preview mode.
The text displayed on the tab.
标签页更改事件
一个描述标签变化的事件。
属性
更改:只读Tab[]
Tabs that have changed, e.g have changed their active state.
关闭:只读Tab[]
The tabs that have been closed.
打开:只读Tab[]
The tabs that have been opened.
标签组
代表一个标签组。标签组本身由多个标签组成。
属性
活动标签:Tab
The active tab in the group. This is the tab whose contents are currently being rendered.
Note that there can be one active tab per group but there can only be one active group.
Whether or not the group is currently active.
Note that only one tab group is active at a time, but that multiple tab groups can have an active tab.
See also Tab.isActive
Tab:只读 Tab[]
The list of tabs contained within the group. This can be empty if the group has no tabs open.
视图列:视图列
The view column of the group.
标签组更改事件
描述更改标签组的事件。
属性
更改:只读标签组[]
Tab groups that have changed, e.g have changed their active state.
关闭:只读标签组[]
Tab groups that have been closed.
打开:只读标签组[]
Tab groups that have been opened.
标签组
代表主要编辑区域,该区域由多个组组成,每个组包含标签。
事件
onDidChangeTabGroups:事件<TabGroupChangeEvent>
An event which fires when tab groups have changed.
属性
活动标签组:标签组
The currently active group.
所有:只读标签组[]
All the groups within the group container.
方法
关闭(Tab: Tab | 只读 Tab[], 保持焦点?: 布尔值): 可然后<布尔值>
Closes the tab. This makes the tab object invalid and the tab should no longer be used for further actions. Note: In the case of a dirty tab, a confirmation dialog will be shown which may be cancelled. If cancelled the tab is still valid
关闭(标签组: 标签组 | 只读 标签组[], 保持焦点?: 布尔值): 可承诺<布尔值>
Closes the tab group. This makes the tab group object invalid and the tab group should no longer be used for further actions.
标签输入自定义
标签代表一个自定义编辑器。
构造函数
新 TabInputCustom(uri: Uri, 视图类型: 字符串): TabInputCustom
Constructs a custom editor tab input.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the tab. |
| viewType: string | The viewtype of the custom editor. |
| Returns | Description |
| TabInputCustom |
属性
uri:Uri
The uri that the tab is representing.
The type of custom editor.
标签输入笔记本
标签代表一个笔记本。
构造函数
新建 TabInputNotebook(uri: Uri, notebookType: 字符串): TabInputNotebook
Constructs a new tab input for a notebook.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the notebook. |
| notebookType: string | The type of notebook. Maps to NotebookDocuments's notebookType |
| Returns | Description |
| TabInputNotebook |
属性
The type of notebook. Maps to NotebookDocuments's notebookType
uri:Uri
The uri that the tab is representing.
标签输入笔记本差异
标签代表在不同配置中的两个笔记本。
构造函数
新的Tab输入笔记本差异(原始: Uri, 修改: Uri, 笔记本类型: 字符串): Tab输入笔记本差异
Constructs a notebook diff tab input.
| Parameter | Description |
|---|---|
| original: Uri | The uri of the original unmodified notebook. |
| modified: Uri | The uri of the modified notebook. |
| notebookType: string | The type of notebook. Maps to NotebookDocuments's notebookType |
| Returns | Description |
| TabInputNotebookDiff |
属性
修改:Uri
The uri of the modified notebook.
The type of notebook. Maps to NotebookDocuments's notebookType
原始:Uri
The uri of the original notebook.
输入终端
标签代表编辑区域中的一个终端。
构造函数
新建标签输入终端(): 标签输入终端
Constructs a terminal tab input.
| Parameter | Description |
|---|---|
| Returns | Description |
| TabInputTerminal |
标签输入文本
标签代表一个基于文本的资源。
构造函数
Constructs a text tab input with the given URI.
| Parameter | Description |
|---|---|
| uri: Uri | The URI of the tab. |
| Returns | Description |
| TabInputText |
属性
uri:Uri
The uri represented by the tab.
标签输入文本差异
该标签表示两个文本资源被渲染为差异。
构造函数
新的Tab输入文本差异(原始: Uri, 修改: Uri): Tab输入文本差异
Constructs a new text diff tab input with the given URIs.
| Parameter | Description |
|---|---|
| original: Uri | The uri of the original text resource. |
| modified: Uri | The uri of the modified text resource. |
| Returns | Description |
| TabInputTextDiff |
属性
修改:Uri
The uri of the modified text resource.
原始:Uri
The uri of the original text resource.
标签输入网页视图
标签代表一个网页视图。
构造函数
新标签输入网页视图(视图类型: 字符串): 标签输入网页视图
Constructs a webview tab input with the given view type.
| Parameter | Description |
|---|---|
| viewType: string | The type of webview. Maps to WebviewPanel's viewType |
| Returns | Description |
| TabInputWebview |
属性
The type of webview. Maps to WebviewPanel's viewType
任务
一个执行任务
构造函数
新任务(任务定义: 任务定义, 范围: 工作区文件夹 | 全局 | 工作区, 名称: 字符串, 源: 字符串, 执行?: 进程执行 | shell 执行 | 自定义执行, 问题匹配器?: 字符串 | 字符串[]): 任务
Creates a new task.
| Parameter | Description |
|---|---|
| taskDefinition: TaskDefinition | The task definition as defined in the taskDefinitions extension point. |
| scope: WorkspaceFolder | Global | Workspace | Specifies the task's scope. It is either a global or a workspace task or a task for a specific workspace folder. Global tasks are currently not supported. |
| name: string | The task's name. Is presented in the user interface. |
| source: string | The task's source (e.g. 'gulp', 'npm', ...). Is presented in the user interface. |
| execution?: ProcessExecution | ShellExecution | CustomExecution | The process or shell execution. |
| problemMatchers?: string | string[] | the names of problem matchers to use, like '$tsc'
or '$eslint'. Problem matchers can be contributed by an extension using
the |
| Returns | Description |
| Task |
新任务(任务定义: 任务定义, 名称: 字符串, 来源: 字符串, 执行?: 进程执行 | shell 执行, 问题匹配器?: 字符串 | 字符串[]): 任务
Creates a new task.
- deprecated - Use the new constructors that allow specifying a scope for the task.
| Parameter | Description |
|---|---|
| taskDefinition: TaskDefinition | The task definition as defined in the taskDefinitions extension point. |
| name: string | The task's name. Is presented in the user interface. |
| source: string | The task's source (e.g. 'gulp', 'npm', ...). Is presented in the user interface. |
| execution?: ProcessExecution | ShellExecution | The process or shell execution. |
| problemMatchers?: string | string[] | the names of problem matchers to use, like '$tsc'
or '$eslint'. Problem matchers can be contributed by an extension using
the |
| Returns | Description |
| Task |
属性
定义:任务定义
The task's definition.
A human-readable string which is rendered less prominently on a separate line in places
where the task's name is displayed. Supports rendering of theme icons
via the $(<name>)-syntax.
The task's execution engine
组?:任务组
The task group this tasks belongs to. See TaskGroup for a predefined set of available groups. Defaults to undefined meaning that the task doesn't belong to any special group.
Whether the task is a background task or not.
The task's name
呈现选项:任务呈现选项
The presentation options. Defaults to an empty literal.
The problem matchers attached to the task. Defaults to an empty array.
运行选项:运行选项
Run options for the task
The task's scope.
A human-readable string describing the source of this shell task, e.g. 'gulp'
or 'npm'. Supports rendering of theme icons via the $(<name>)-syntax.
任务定义
系统中定义任务类型的结构。 该值必须是可JSON序列化的。
属性
The task definition describing the task provided by an extension. Usually a task provider defines more properties to identify a task. They need to be defined in the package.json of the extension under the 'taskDefinitions' extension point. The npm task definition for example looks like this
interface NpmTaskDefinition extends TaskDefinition {
script: string;
}
Note that type identifier starting with a '$' are reserved for internal usages and shouldn't be used by extensions.
任务结束事件
一个表示已执行任务结束的事件。
此接口不打算实现。
属性
执行:任务执行
The task item representing the task that finished.
任务执行
一个表示已执行任务的对象。可以用来终止一个任务。
此接口不打算实现。
属性
任务:任务
The task that got started.
方法
Terminates the task execution.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
任务过滤器
任务过滤器通过版本和类型来标识任务
属性
The task type to return;
The task version as used in the tasks.json file. The string support the package.json semver notation.
任务组
一个用于任务的分组。编辑器默认支持“清理”、“构建”、“重建所有”和“测试”分组。
静态
构建:任务组
The build task group;
清除:任务组
The clean task group;
重建:任务组
The rebuild all task group;
测试:任务组
The test all task group;
构造函数
新的任务组(id: 字符串, Tab: 字符串): 任务组
Private constructor
| Parameter | Description |
|---|---|
| id: string | Identifier of a task group. |
| label: string | The human-readable name of a task group. |
| Returns | Description |
| TaskGroup |
属性
The ID of the task group. Is one of TaskGroup.Clean.id, TaskGroup.Build.id, TaskGroup.Rebuild.id, or TaskGroup.Test.id.
Whether the task that is part of this group is the default for the group. This property cannot be set through API, and is controlled by a user's task configurations.
任务面板类型
控制任务通道在任务之间的使用方式
枚举成员
Shares a panel with other tasks. This is the default.
Uses a dedicated panel for this tasks. The panel is not shared with other tasks.
Creates a new panel whenever this task is executed.
任务展示选项
控制任务在用户界面中的呈现方式。
属性
Controls whether the terminal is cleared before executing the task.
Controls whether the terminal is closed after executing the task.
Controls whether the command associated with the task is echoed in the user interface.
Controls whether the panel showing the task output is taking focus.
面板?: 任务面板类型
Controls if the task panel is used for this task only (dedicated),
shared between tasks (shared) or if a new panel is created on
every task execution (new). Defaults to TaskInstanceKind.Shared
揭示?:任务揭示类型
Controls whether the task output is reveal in the user interface.
Defaults to RevealKind.Always.
Controls whether to show the "Terminal will be reused by tasks, press any key to close it" message.
任务处理结束事件
一个表示通过任务触发的进程执行结束的事件
属性
执行:任务执行
The task execution for which the process got started.
The process's exit code. Will be undefined when the task is terminated.
任务处理开始事件
一个标志着通过任务触发的进程执行开始的事件
属性
执行:任务执行
The task execution for which the process got started.
The underlying process id.
任务提供者<T>
任务提供者允许将任务添加到任务服务中。 任务提供者通过tasks.registerTaskProvider进行注册。
方法
Provides tasks.
| Parameter | Description |
|---|---|
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | an array of tasks |
解决任务(任务: T, 令牌: CancellationToken): 提供者结果<T>
Resolves a task that has no execution set. Tasks are
often created from information found in the tasks.json-file. Such tasks miss
the information on how to execute them and a task provider must fill in
the missing information in the resolveTask-method. This method will not be
called for tasks returned from the above provideTasks method since those
tasks are always fully resolved. A valid default implementation for the
resolveTask method is to return undefined.
Note that when filling in the properties of task, you must be sure to
use the exact same TaskDefinition and not create a new one. Other properties
may be changed.
| Parameter | Description |
|---|---|
| task: T | The task to resolve. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved task |
任务揭示种类
控制终端的可见性行为。
枚举成员
Always brings the terminal to front if the task is executed.
Only brings the terminal to front if a problem is detected executing the task (e.g. the task couldn't be started because).
The terminal never comes to front when the task is executed.
任务范围
任务的范围。
枚举成员
The task is a global task. Global tasks are currently not supported.
The task is a workspace task
任务开始事件
一个标志着任务执行开始的事件。
此接口不打算实现。
属性
执行:任务执行
The task item representing the task that got started.
遥测记录器
一个遥测记录器,扩展可以使用它来记录使用和错误遥测。
一个日志记录器包裹在一个发送者周围,但它保证了
- 用户设置以禁用或调整遥测数据的设置得到了尊重,并且
- 潜在的敏感数据已被移除
它还实现了一个“回声用户界面”,该界面打印发送的任何数据,并允许编辑器将未处理的错误转发到相应的扩展。
获取一个TelemetryLogger的实例,使用
createTelemetryLogger。
事件
onDidChangeEnableStates:事件<TelemetryLogger>
An Event which fires when the enablement state of usage or error telemetry changes.
属性
Whether or not error telemetry is enabled for this logger.
Whether or not usage telemetry is enabled for this logger.
方法
Dispose this object and free resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
记录错误(事件名称: 字符串, 数据?: 记录<字符串, 任意>): 无
Log an error event.
After completing cleaning, telemetry setting checks, and data mix-in calls TelemetrySender.sendEventData to log the event. Differs from logUsage in that it will log the event if the telemetry setting is Error+.
Automatically supports echoing to extension telemetry output channel.
| Parameter | Description |
|---|---|
| eventName: string | The event name to log |
| data?: Record<string, any> | The data to log |
| Returns | Description |
| void |
记录错误(错误: 错误, 数据?: 记录<字符串, 任意>): 无
Log an error event.
Calls TelemetrySender.sendErrorData. Does cleaning, telemetry checks, and data mix-in.
Automatically supports echoing to extension telemetry output channel.
Will also automatically log any exceptions thrown within the extension host process.
| Parameter | Description |
|---|---|
| error: Error | The error object which contains the stack trace cleaned of PII |
| data?: Record<string, any> | Additional data to log alongside the stack trace |
| Returns | Description |
| void |
记录使用情况(事件名称: 字符串, 数据?: 记录<字符串, 任意>): 无
Log a usage event.
After completing cleaning, telemetry setting checks, and data mix-in calls TelemetrySender.sendEventData to log the event.
Automatically supports echoing to extension telemetry output channel.
| Parameter | Description |
|---|---|
| eventName: string | The event name to log |
| data?: Record<string, any> | The data to log |
| Returns | Description |
| void |
遥测记录器选项
属性
Any additional common properties which should be injected into the data object.
Whether or not you want to avoid having the built-in common properties such as os, extension name, etc injected into the data object.
Defaults to false if not defined.
Whether or not unhandled errors on the extension host caused by your extension should be logged to your sender.
Defaults to false if not defined.
遥测发送器
遥测发送器是遥测记录器和某些遥测服务之间的合同。注意扩展不应直接调用发送器的方法,因为记录器提供了额外的保护和清理。
const sender: vscode.TelemetrySender = {...};
const logger = vscode.env.createTelemetryLogger(sender);
// GOOD - uses the logger
logger.logUsage('myEvent', { myData: 'myValue' });
// BAD - uses the sender directly: no data cleansing, ignores user settings, no echoing to the telemetry output channel etc
sender.logEvent('myEvent', { myData: 'myValue' });
方法
Optional flush function which will give this sender a chance to send any remaining events as its TelemetryLogger is being disposed
| Parameter | Description |
|---|---|
| Returns | Description |
| void | Thenable<void> |
发送错误数据(错误: 错误, 数据?: 记录<字符串, 任意>): 无
Function to send an error. Used within a TelemetryLogger
| Parameter | Description |
|---|---|
| error: Error | The error being logged |
| data?: Record<string, any> | Any additional data to be collected with the exception |
| Returns | Description |
| void |
发送事件数据(事件名称: 字符串, 数据?: 记录<字符串, 任意>): 无
Function to send event data without a stacktrace. Used within a TelemetryLogger
| Parameter | Description |
|---|---|
| eventName: string | The name of the event which you are logging |
| data?: Record<string, any> | A serializable key value pair that is being logged |
| Returns | Description |
| void |
遥测可信值<T>
一个特殊值包装器,表示一个可以安全不清理的值。 当您可以保证该值中不包含任何可识别的信息,并且清理会错误地遮盖它时,应使用此包装器。
构造函数
新的遥测可信值<T>(值: T): 遥测可信值<T>
Creates a new telemetry trusted value.
| Parameter | Description |
|---|---|
| value: T | A value to trust |
| Returns | Description |
| TelemetryTrustedValue<T> |
属性
The value that is trusted to not contain PII.
终端
集成终端中的单个终端实例。
属性
The object used to initialize the terminal, this is useful for example to detecting the shell type of when the terminal was not launched by this extension or for detecting what folder the shell was launched in.
退出状态:终端退出状态
The exit status of the terminal, this will be undefined while the terminal is active.
Example: Show a notification with the exit code when the terminal exits with a non-zero exit code.
window.onDidCloseTerminal(t => {
if (t.exitStatus && t.exitStatus.code) {
vscode.window.showInformationMessage(`Exit code: ${t.exitStatus.code}`);
}
});
The name of the terminal.
The process ID of the shell process.
外壳集成:终端外壳集成
An object that contains shell integration-powered
features for the terminal. This will always be undefined immediately after the terminal
is created. Listen to window.onDidChangeTerminalShellIntegration to be notified
when shell integration is activated for a terminal.
Note that this object may remain undefined if shell integration never activates. For example Command Prompt does not support shell integration and a user's shell setup could conflict with the automatic shell integration activation.
状态:终端状态
The current state of the Terminal.
方法
Dispose and free associated resources.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Hide the terminal panel if this terminal is currently showing.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Send text to the terminal. The text is written to the stdin of the underlying pty process (shell) of the terminal.
| Parameter | Description |
|---|---|
| text: string | The text to send. |
| shouldExecute?: boolean | Indicates that the text being sent should be executed rather than just inserted in the terminal.
The character(s) added are |
| Returns | Description |
| void |
Show the terminal panel and reveal this terminal in the UI.
| Parameter | Description |
|---|---|
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
终端尺寸
表示终端的尺寸。
属性
The number of columns in the terminal.
The number of rows in the terminal.
终端编辑器位置选项
属性
An optional flag that when true will stop the Terminal from taking focus.
视图列:视图列
A view column in which the terminal should be shown in the editor area. The default is the active. Columns that do not exist will be created as needed up to the maximum of ViewColumn.Nine. Use ViewColumn.Beside to open the editor to the side of the currently active one.
终端退出原因
终端退出原因种类。
枚举成员
Unknown reason.
The window closed/reloaded.
The shell process exited.
The user closed the terminal.
An extension disposed the terminal.
终端退出状态
表示终端如何退出。
属性
The exit code that a terminal exited with, it can have the following values:
- Zero: the terminal process or custom execution succeeded.
- Non-zero: the terminal process or custom execution failed.
undefined: the user forcibly closed the terminal or a custom execution exited without providing an exit code.
原因:终端退出原因
The reason that triggered the exit of a terminal.
终端链接
终端线上的一个链接。
构造函数
新的 TerminalLink(起始索引: 数字, 长度: 数字, 工具提示?: 字符串): TerminalLink
Creates a new terminal link.
| Parameter | Description |
|---|---|
| startIndex: number | The start index of the link on TerminalLinkContext.line. |
| length: number | The length of the link on TerminalLinkContext.line. |
| tooltip?: string | The tooltip text when you hover over this link. If a tooltip is provided, is will be displayed in a string that includes instructions on
how to trigger the link, such as |
| Returns | Description |
| TerminalLink |
属性
The length of the link on TerminalLinkContext.line.
The start index of the link on TerminalLinkContext.line.
The tooltip text when you hover over this link.
If a tooltip is provided, is will be displayed in a string that includes instructions on
how to trigger the link, such as {0} (ctrl + click). The specific instructions vary
depending on OS, user settings, and localization.
终端链接上下文
提供终端中线路的信息,以便为其提供链接。
属性
This is the text from the unwrapped line in the terminal.
终端:终端
The terminal the link belongs to.
终端链接提供者<T>
一个能够检测和处理终端内链接的提供者。
方法
处理终端链接(链接: T): 提供者结果<无>
Handle an activated terminal link.
| Parameter | Description |
|---|---|
| link: T | The link to handle. |
| Returns | Description |
| ProviderResult<void> |
提供终端链接(上下文: 终端链接上下文, 令牌: 取消令牌): 提供者结果< T []
Provide terminal links for the given context. Note that this can be called multiple times
even before previous calls resolve, make sure to not share global objects (eg. RegExp)
that could have problems when asynchronous usage may overlap.
| Parameter | Description |
|---|---|
| context: TerminalLinkContext | Information about what links are being provided for. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | A list of terminal links for the given line. |
终端位置
终端的位置。
枚举成员
In the terminal view
In the editor area
终端选项
值对象描述终端应使用的选项。
属性
颜色?:主题颜色
The icon ThemeColor for the terminal.
The terminal.ansi* theme keys are
recommended for the best contrast and consistency across themes.
当前工作目录?: 字符串 | 统一资源标识符
A path or Uri for the current working directory to be used for the terminal.
Object with environment variables that will be added to the editor process.
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. The hidden terminals will not be restored when the workspace is next opened.
图标路径?: 图标路径
The icon path or ThemeIcon for the terminal.
Opt-out of the default terminal persistence on restart and reload.
This will only take effect when terminal.integrated.enablePersistentSessions is enabled.
位置?:终端编辑器位置选项 | 终端拆分位置选项 | 终端位置
The TerminalLocation or TerminalEditorLocationOptions or TerminalSplitLocationOptions for the terminal.
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 a setting text style.
A human-readable string which will be used to represent the terminal in the UI.
Args for the custom shell executable. A string can be used on Windows only which allows specifying shell args in command-line format.
The nonce to use to verify shell integration sequences are coming from a trusted source. An example impact of UX of this is if the command line is reported with a nonce, it will not need to verify with the user that the command line is correct before rerunning it via the shell integration command decoration.
This should be used if the terminal includes custom shell integration support.
It should be set to a random GUID which will then set the VSCODE_NONCE environment
variable. Inside the shell, this should then be removed from the environment so as to
protect it from general access. Once that is done it can be passed through in the
relevant sequences to make them trusted.
A path to a custom shell executable to be used in the terminal.
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.env.windows on top. When this is true, the complete environment
must be provided as nothing will be inherited from the process or any configuration.
终端配置文件
终端配置文件定义了如何启动终端。
构造函数
新终端配置(选项: 终端选项 | 扩展终端选项): 终端配置
Creates a new terminal profile.
| Parameter | Description |
|---|---|
| options: TerminalOptions | ExtensionTerminalOptions | The options that the terminal will launch with. |
| Returns | Description |
| TerminalProfile |
属性
The options that the terminal will launch with.
终端配置提供程序
当通过UI或命令启动时,提供一个终端配置文件。
方法
提供终端配置文件(令牌: 取消令牌): 提供者结果<终端配置文件>
Provide the terminal profile.
| Parameter | Description |
|---|---|
| token: CancellationToken | A cancellation token that indicates the result is no longer needed. |
| Returns | Description |
| ProviderResult<TerminalProfile> | The terminal profile. |
Shell终端执行
在终端中执行的命令。
属性
命令行:Shell终端执行命令行
The command line that was executed. The confidence of this value depends on the specific shell's shell integration implementation. This value may become more accurate after window.onDidEndTerminalShellExecution is fired.
Example
// Log the details of the command line on start and end
window.onDidStartTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
});
window.onDidEndTerminalShellExecution(event => {
const commandLine = event.execution.commandLine;
console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
});
function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
return [
` Command line: ${command.commandLine.value}`,
` Confidence: ${command.commandLine.confidence}`,
` Trusted: ${command.commandLine.isTrusted}
].join('\n');
}
当前工作目录:Uri
The working directory that was reported by the shell when this command executed. This Uri may represent a file on another machine (eg. ssh into another machine). This requires the shell integration to support working directory reporting.
方法
Creates a stream of raw data (including escape sequences) that is written to the
terminal. This will only include data that was written after read was called for
the first time, ie. you must call read immediately after the command is executed via
TerminalShellIntegration.executeCommand or
window.onDidStartTerminalShellExecution to not miss any data.
Example
// Log all data written to the terminal for a command
const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
const stream = command.read();
for await (const data of stream) {
console.log(data);
}
| Parameter | Description |
|---|---|
| Returns | Description |
| AsyncIterable<string> |
Shell终端执行命令行
在终端中执行的命令行。
属性
置信度:Shell终端执行命令行置信度
The confidence of the command line value which is determined by how the value was obtained. This depends upon the implementation of the shell integration script.
Whether the command line value came from a trusted source and is therefore safe to execute without user additional confirmation, such as a notification that asks "Do you want to execute (command)?". This verification is likely only needed if you are going to execute the command again.
This is true only when the command line was reported explicitly by the shell
integration script (ie. high confidence)
and it used a nonce for verification.
The full command line that was executed, including both the command and its arguments.
Shell终端执行命令行置信度
一个Shell终端执行命令行值的置信度。
枚举成员
The command line value confidence is low. This means that the value was read from the terminal buffer using markers reported by the shell integration script. Additionally one of the following conditions will be met:
- The command started on the very left-most column which is unusual, or
- The command is multi-line which is more difficult to accurately detect due to line continuation characters and right prompts.
- Command line markers were not reported by the shell integration script.
The command line value confidence is medium. This means that the value was read from the terminal buffer using markers reported by the shell integration script. The command is single-line and does not start on the very left-most column (which is unusual).
The command line value confidence is high. This means that the value was explicitly sent from the shell integration script or the command was executed via the TerminalShellIntegration.executeCommand API.
Shell终端执行结束事件
一个表示在终端中执行结束的事件。
属性
执行:Shell终端执行
The terminal shell execution that has ended.
The exit code reported by the shell.
When this is undefined it can mean several things:
- The shell either did not report an exit code (ie. the shell integration script is misbehaving)
- The shell reported a command started before the command finished (eg. a sub-shell was opened).
- The user canceled the command via ctrl+c.
- The user pressed enter when there was no input.
Generally this should not happen. Depending on the use case, it may be best to treat this as a failure.
Example
const execution = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
if (event.exitCode === undefined) {
console.log('Command finished but exit code is unknown');
} else if (event.exitCode === 0) {
console.log('Command succeeded');
} else {
console.log('Command failed');
}
}
});
外壳集成:终端外壳集成
The shell integration object.
终端:终端
The terminal that shell integration has been activated in.
Shell终端执行开始事件
一个表示在终端中开始执行的事件。
属性
执行:Shell终端执行
The terminal shell execution that has ended.
外壳集成:终端外壳集成
The shell integration object.
终端:终端
The terminal that shell integration has been activated in.
Shell终端集成
壳层集成-驱动的功能由终端拥有。
属性
当前工作目录:Uri
The current working directory of the terminal. This Uri may represent a file on another machine (eg. ssh into another machine). This requires the shell integration to support working directory reporting.
方法
执行命令(命令行: 字符串): 终端 shell 执行
Execute a command, sending ^C as necessary to interrupt any running command if needed.
- throws - When run on a terminal doesn't support this API, such as task terminals.
Example
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const execution = shellIntegration.executeCommand('echo "Hello world"');
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
Example
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const execution = shellIntegration.executeCommand({ commandLine });
window.onDidEndTerminalShellExecution(event => {
if (event.execution === execution) {
console.log(`Command exited with code ${event.exitCode}`);
}
});
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
| Parameter | Description |
|---|---|
| commandLine: string | The command line to execute, this is the exact text that will be sent to the terminal. |
| Returns | Description |
| TerminalShellExecution |
执行命令(可执行文件: 字符串, 参数: 字符串[]): 终端 shell 执行
Execute a command, sending ^C as necessary to interrupt any running command if needed.
Note This is not guaranteed to work as shell integration must be activated. Check whether TerminalShellExecution.exitCode is rejected to verify whether it was successful.
Example
// Execute a command in a terminal immediately after being created
const myTerm = window.createTerminal();
window.onDidChangeTerminalShellIntegration(async ({ terminal, shellIntegration }) => {
if (terminal === myTerm) {
const command = shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
}
}));
// Fallback to sendText if there is no shell integration within 3 seconds of launching
setTimeout(() => {
if (!myTerm.shellIntegration) {
myTerm.sendText('echo "Hello world"');
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
}, 3000);
Example
// Send command to terminal that has been alive for a while
const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
const command = term.shellIntegration.executeCommand({
command: 'echo',
args: ['Hello world']
});
const code = await command.exitCode;
console.log(`Command exited with code ${code}`);
} else {
term.sendText(commandLine);
// Without shell integration, we can't know when the command has finished or what the
// exit code was.
}
| Parameter | Description |
|---|---|
| executable: string | A command to run. |
| args: string[] | Arguments to launch the executable with. The arguments will be escaped such that they are interpreted as single arguments when the argument both contains whitespace and does not include any single quote, double quote or backtick characters. Note that this escaping is not intended to be a security measure, be careful when passing
untrusted data to this API as strings like |
| Returns | Description |
| TerminalShellExecution |
Shell终端集成更改事件
一个表示终端的 shell 集成发生变化的事件。
属性
外壳集成:终端外壳集成
The shell integration object.
终端:终端
The terminal that shell integration has been activated in.
终端拆分位置选项
使用父级终端的位置作为终端的位置
属性
父终端:终端
The parent terminal to split this terminal beside. This works whether the parent terminal is in the panel or the editor area.
终端状态
表示终端的状态。
属性
Whether the Terminal has been interacted with. Interaction means that the terminal has sent data to the process which depending on the terminal's mode. By default input is sent when a key is pressed or when a command or extension sends text, but based on the terminal's mode it can also happen on:
- a pointer click event
- a pointer scroll event
- a pointer move event
- terminal focus in/out
For more information on events that can send data see "DEC Private Mode Set (DECSET)" on https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
The detected shell type of the Terminal. This will be undefined when there is
not a clear signal as to what the shell is, or the shell is not supported yet. This
value should change to the shell type of a sub-shell when launched (for example, running
bash inside zsh).
Note that the possible values are currently defined as any of the following: 'bash', 'cmd', 'csh', 'fish', 'gitbash', 'julia', 'ksh', 'node', 'nu', 'pwsh', 'python', 'sh', 'wsl', 'xonsh', 'zsh'.
测试控制器
发现和执行测试的入口点。它包含TestController.items,用于填充编辑器界面,并与 运行配置文件关联,以允许执行测试。
属性
The id of the controller passed in tests.createTestController. This must be globally unique.
项目:测试项目集合
A collection of "top-level" TestItem instances, which can in turn have their own children to form the "test tree."
The extension controls when to add tests. For example, extensions should add tests for a file when workspace.onDidOpenTextDocument fires in order for decorations for tests within a file to be visible.
However, the editor may sometimes explicitly request children using the resolveHandler See the documentation on that method for more details.
Human-readable label for the test controller.
刷新处理程序:(令牌:取消令牌) => 无 | 然后可 <无 >
If this method is present, a refresh button will be present in the UI, and this method will be invoked when it's clicked. When called, the extension should scan the workspace for any new, changed, or removed tests.
It's recommended that extensions try to update tests in realtime, using a FileSystemWatcher for example, and use this method as a fallback.
| Parameter | Description |
|---|---|
| token: CancellationToken | |
| Returns | Description |
| void | Thenable<void> | A thenable that resolves when tests have been refreshed. |
resolveHandler?: (item: TestItem) => void | Thenable<void>
A function provided by the extension that the editor may call to request
children of a test item, if the TestItem.canResolveChildren is
true. When called, the item should discover children and call
TestController.createTestItem as children are discovered.
Generally the extension manages the lifecycle of test items, but under certain conditions the editor may request the children of a specific item to be loaded. For example, if the user requests to re-run tests after reloading the editor, the editor may need to call this method to resolve the previously-run tests.
The item in the explorer will automatically be marked as "busy" until the function returns or the returned thenable resolves.
方法
创建运行配置(Tab: 字符串, 类型: 测试运行配置类型, 运行处理程序: (请求: 测试运行请求, 令牌: 取消令牌) => 无 | 然后可<无>, 是否默认?: 布尔值, Tab?: 测试标签, 是否支持连续运行?: 布尔值): 测试运行配置
Creates a profile used for running tests. Extensions must create at least one profile in order for tests to be run.
| Parameter | Description |
|---|---|
| label: string | A human-readable label for this profile. |
| kind: TestRunProfileKind | Configures what kind of execution this profile manages. |
| runHandler: (request: TestRunRequest, token: CancellationToken) => void | Thenable<void> | Function called to start a test run. |
| isDefault?: boolean | Whether this is the default action for its kind. |
| tag?: TestTag | Profile test tag. |
| supportsContinuousRun?: boolean | Whether the profile supports continuous running. |
| Returns | Description |
| TestRunProfile | An instance of a TestRunProfile, which is automatically associated with this controller. |
创建测试项(id: 字符串, Tab: 字符串, uri?: Uri): 测试项
Creates a new managed TestItem instance. It can be added into the TestItem.children of an existing item, or into the TestController.items.
| Parameter | Description |
|---|---|
| id: string | Identifier for the TestItem. The test item's ID must be unique in the TestItemCollection it's added to. |
| label: string | Human-readable label of the test item. |
| uri?: Uri | URI this TestItem is associated with. May be a file or directory. |
| Returns | Description |
| TestItem |
创建测试运行(请求: 测试运行请求, 名称?: 字符串, 持久化?: 布尔值): 测试运行
Creates a TestRun. This should be called by the TestRunProfile when a request is made to execute tests, and may also be called if a test run is detected externally. Once created, tests that are included in the request will be moved into the queued state.
All runs created using the same request instance will be grouped
together. This is useful if, for example, a single suite of tests is
run on multiple platforms.
| Parameter | Description |
|---|---|
| request: TestRunRequest | Test run request. Only tests inside the |
| name?: string | The human-readable name of the run. This can be used to disambiguate multiple sets of results in a test run. It is useful if tests are run across multiple platforms, for example. |
| persist?: boolean | Whether the results created by the run should be persisted in the editor. This may be false if the results are coming from a file already saved externally, such as a coverage information file. |
| Returns | Description |
| TestRun | An instance of the TestRun. It will be considered "running" from the moment this method is invoked until TestRun.end is called. |
Unregisters the test controller, disposing of its associated tests and unpersisted results.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
使测试结果无效(项目?: 测试项目 | 只读 测试项目[]): 无
Marks an item's results as being outdated. This is commonly called when code or configuration changes and previous results should no longer be considered relevant. The same logic used to mark results as outdated may be used to drive continuous test runs.
If an item is passed to this method, test results for the item and all of its children will be marked as outdated. If no item is passed, then all test owned by the TestController will be marked as outdated.
Any test runs started before the moment this method is called, including runs which may still be ongoing, will be marked as outdated and deprioritized in the editor's UI.
测试覆盖计数
包含关于受保护资源信息的类。可以为文件中的行、分支和声明指定一个计数。
构造函数
新的测试覆盖计数(覆盖: 数字, 总计: 数字): 测试覆盖计数
| Parameter | Description |
|---|---|
| covered: number | Value for TestCoverageCount.covered |
| total: number | Value for TestCoverageCount.total |
| Returns | Description |
| TestCoverageCount |
属性
Number of items covered in the file.
Total number of covered items in the file.
测试项目
在“测试资源管理器”视图中显示的项目。
A TestItem 可以代表测试套件或测试本身,因为它们都具有类似的功能。
属性
Controls whether the item is shown as "busy" in the Test Explorer view. This is useful for showing status while discovering children.
Defaults to false.
Indicates whether this test item may have children discovered by resolving.
If true, this item is shown as expandable in the Test Explorer view and expanding the item will cause TestController.resolveHandler to be invoked with the item.
Default to false.
儿童:测试项目集合
The children of this test item. For a test suite, this may contain the individual test cases or nested suites.
Optional description that appears next to the label.
错误: 字符串 | Markdown字符串
Optional error encountered while loading the test.
Note that this is not a test result and should only be used to represent errors in test discovery, such as syntax errors.
Identifier for the TestItem. This is used to correlate
test results and tests in the document with those in the workspace
(test explorer). This cannot change for the lifetime of the TestItem,
and must be unique among its parent's direct children.
Display name describing the test case.
父: 测试项目
The parent of this item. It's set automatically, and is undefined top-level items in the TestController.items and for items that aren't yet included in another item's children.
范围:范围
Location of the test item in its uri.
This is only meaningful if the uri points to a file.
A string that should be used when comparing this item
with other items. When falsy the label
is used.
Tab:只读 测试标签[]
Tags associated with this test item. May be used in combination with tags, or simply as an organizational feature.
uri:Uri
URI this TestItem is associated with. May be a file or directory.
测试项目集合
测试项目的集合,可以在 TestItem.children 和 TestController.items 中找到。
属性
Gets the number of items in the collection.
方法
添加(项目: 测试项目): 无
Adds the test item to the children. If an item with the same ID already exists, it'll be replaced.
| Parameter | Description |
|---|---|
| item: TestItem | Item to add. |
| Returns | Description |
| void |
Removes a single test item from the collection.
| Parameter | Description |
|---|---|
| itemId: string | Item ID to delete. |
| Returns | Description |
| void |
forEach(回调函数: (项目: 测试项目, 集合: 测试项目集合) => 未知, 上下文对象?: 任何): 无
Iterate over each entry in this collection.
| Parameter | Description |
|---|---|
| callback: (item: TestItem, collection: TestItemCollection) => unknown | Function to execute for each entry. |
| thisArg?: any | The |
| Returns | Description |
| void |
获取(物品ID: 字符串): 测试物品
Efficiently gets a test item by ID, if it exists, in the children.
| Parameter | Description |
|---|---|
| itemId: string | Item ID to get. |
| Returns | Description |
| TestItem | The found item or undefined if it does not exist. |
替换(项目: 只读 测试项[]): 无返回值
Replaces the items stored by the collection.
| Parameter | Description |
|---|---|
| items: readonly TestItem[] | Items to store. |
| Returns | Description |
| void |
测试消息
与测试状态关联的消息。可以链接到特定的源范围——例如,对断言失败很有用。
静态
diff(消息: 字符串 | Markdown字符串, 预期: 字符串, 实际: 字符串): 测试消息
Creates a new TestMessage that will present as a diff in the editor.
| Parameter | Description |
|---|---|
| message: string | MarkdownString | Message to display to the user. |
| expected: string | Expected output. |
| actual: string | Actual output. |
| Returns | Description |
| TestMessage |
构造函数
新的测试消息(消息: 字符串 | Markdown字符串): 测试消息
Creates a new TestMessage instance.
| Parameter | Description |
|---|---|
| message: string | MarkdownString | The message to show to the user. |
| Returns | Description |
| TestMessage |
属性
Actual test output. If given with expectedOutput , a diff view will be shown.
Context value of the test item. This can be used to contribute message-
specific actions to the test peek view. The value set here can be found
in the testMessage property of the following menus contribution points:
testing/message/context- context menu for the message in the results treetesting/message/content- a prominent button overlaying editor content where the message is displayed.
For example:
"contributes": {
"menus": {
"testing/message/content": [
{
"command": "extension.deleteCommentThread",
"when": "testMessage == canApplyRichDiff"
}
]
}
}
The command will be called with an object containing:
test: the TestItem the message is associated with, if it is still present in the TestController.items collection.message: the TestMessage instance.
Expected test output. If given with actualOutput , a diff view will be shown.
位置?:位置
Associated file location.
消息: 字符串 | Markdown字符串
Human-readable message text to display.
堆栈跟踪?:测试消息堆栈框架[]
The stack trace associated with the message or failure.
测试消息堆栈框架
在TestMessage.stackTrace中找到一个堆栈框架。
构造函数
新的测试消息堆栈框架(Tab: 字符串, uri?: Uri, 位置?: 位置): 测试消息堆栈框架
| Parameter | Description |
|---|---|
| label: string | The name of the stack frame |
| uri?: Uri | |
| position?: Position | The position of the stack frame within the file |
| Returns | Description |
| TestMessageStackFrame |
属性
The name of the stack frame, typically a method or function name.
位置?:位置
Position of the stack frame within the file.
uri?: Uri
The location of this stack frame. This should be provided as a URI if the location of the call frame can be accessed by the editor.
测试运行
一个TestRun代表一个正在进行或已完成的测试运行,并提供方法来报告运行中各个测试的状态。
事件
onDidDispose:事件<无>
An event fired when the editor is no longer interested in data associated with the test run.
属性
Whether the test run will be persisted across reloads by the editor.
The human-readable name of the run. This can be used to disambiguate multiple sets of results in a test run. It is useful if tests are run across multiple platforms, for example.
令牌:取消令牌
A cancellation token which will be triggered when the test run is canceled from the UI.
方法
添加覆盖(文件覆盖: 文件覆盖): 无
Adds coverage for a file in the run.
| Parameter | Description |
|---|---|
| fileCoverage: FileCoverage | |
| Returns | Description |
| void |
appendOutput(输出: 字符串, 位置?: 位置, 测试?: 测试项): 无
Appends raw output from the test runner. On the user's request, the
output will be displayed in a terminal. ANSI escape sequences,
such as colors and text styles, are supported. New lines must be given
as CRLF (\r\n) rather than LF (\n).
Signals the end of the test run. Any tests included in the run whose states have not been updated will have their state reset.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
入队(测试: 测试项目): 无
Indicates a test is queued for later execution.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| Returns | Description |
| void |
错误(测试: 测试项, 消息: 测试消息 | 只读 测试消息[], 持续时间?: 数字): 无
Indicates a test has errored. You should pass one or more TestMessages to describe the failure. This differs from the "failed" state in that it indicates a test that couldn't be executed at all, from a compilation error for example.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| message: TestMessage | readonly TestMessage[] | Messages associated with the test failure. |
| duration?: number | How long the test took to execute, in milliseconds. |
| Returns | Description |
| void |
失败(测试: 测试项, 消息: 测试消息 | 只读 测试消息[], 持续时间?: 数字): 无
Indicates a test has failed. You should pass one or more TestMessages to describe the failure.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| message: TestMessage | readonly TestMessage[] | Messages associated with the test failure. |
| duration?: number | How long the test took to execute, in milliseconds. |
| Returns | Description |
| void |
通过(测试: 测试项目, 持续时间?: 数字): 无
Indicates a test has passed.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| duration?: number | How long the test took to execute, in milliseconds. |
| Returns | Description |
| void |
跳过(测试: 测试项): 无
Indicates a test has been skipped.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| Returns | Description |
| void |
开始(测试: 测试项目): 无返回值
Indicates a test has started running.
| Parameter | Description |
|---|---|
| test: TestItem | Test item to update. |
| Returns | Description |
| void |
测试运行配置文件
测试运行配置描述了在测试控制器中执行测试的一种方式。
事件
onDidChangeDefault:事件<布尔值>
Fired when a user has changed whether this is a default profile. The event contains the new value of isDefault
属性
If this method is present, a configuration gear will be present in the UI, and this method will be invoked when it's clicked. When called, you can take other editor actions, such as showing a quick pick or opening a configuration file.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
Controls whether this profile is the default action that will be taken when its kind is actioned. For example, if the user clicks the generic "run all" button, then the default profile for TestRunProfileKind.Run will be executed, although the user can configure this.
Changes the user makes in their default profiles will be reflected in this property after a onDidChangeDefault event.
种类:测试运行配置种类
Configures what kind of execution this profile controls. If there are no profiles for a kind, it will not be available in the UI.
Label shown to the user in the UI.
Note that the label has some significance if the user requests that
tests be re-run in a certain way. For example, if tests were run
normally and the user requests to re-run them in debug mode, the editor
will attempt use a configuration with the same label of the Debug
kind. If there is no such configuration, the default will be used.
加载详细覆盖?:(测试运行:测试运行,文件覆盖:文件覆盖,令牌:取消令牌) => 然后可以<文件覆盖详细信息[]>
An extension-provided function that provides detailed statement and function-level coverage for a file. The editor will call this when more detail is needed for a file, such as when it's opened in an editor or expanded in the Test Coverage view.
The FileCoverage object passed to this function is the same instance emitted on TestRun.addCoverage calls associated with this profile.
| Parameter | Description |
|---|---|
| testRun: TestRun | |
| fileCoverage: FileCoverage | |
| token: CancellationToken | |
| Returns | Description |
| Thenable<FileCoverageDetail[]> |
加载详细测试覆盖?: (测试运行: 测试运行, 文件覆盖: 文件覆盖, 来自测试项: 测试项, 令牌: 取消令牌) => 然后可<文件覆盖详细信息[]>
An extension-provided function that provides detailed statement and function-level coverage for a single test in a file. This is the per-test sibling of TestRunProfile.loadDetailedCoverage, called only if a test item is provided in FileCoverage.includesTests and only for files where such data is reported.
Often TestRunProfile.loadDetailedCoverage will be called first when a user opens a file, and then this method will be called if they drill down into specific per-test coverage information. This method should then return coverage data only for statements and declarations executed by the specific test during the run.
The FileCoverage object passed to this function is the same instance emitted on TestRun.addCoverage calls associated with this profile.
| Parameter | Description |
|---|---|
| testRun: TestRun | The test run that generated the coverage data. |
| fileCoverage: FileCoverage | The file coverage object to load detailed coverage for. |
| fromTestItem: TestItem | The test item to request coverage information for. |
| token: CancellationToken | A cancellation token that indicates the operation should be cancelled. |
| Returns | Description |
| Thenable<FileCoverageDetail[]> |
runHandler:(request: TestRunRequest,token: CancellationToken)=> void | Thenable<void>
Handler called to start a test run. When invoked, the function should call TestController.createTestRun at least once, and all test runs associated with the request should be created before the function returns or the returned promise is resolved.
If supportsContinuousRun is set, then TestRunRequest.continuous
may be true. In this case, the profile should observe changes to
source code and create new test runs by calling TestController.createTestRun,
until the cancellation is requested on the token.
| Parameter | Description |
|---|---|
| request: TestRunRequest | Request information for the test run. |
| token: CancellationToken | |
| Returns | Description |
| void | Thenable<void> |
Whether this profile supports continuous running of requests. If so,
then TestRunRequest.continuous may be set to true. Defaults
to false.
Tab: 测试标签
Associated tag for the profile. If this is set, only TestItem instances with the same tag will be eligible to execute in this profile.
方法
Deletes the run profile.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
测试运行配置文件类型
由TestRunProfiles控制的执行类型。
枚举成员
The Run test profile kind.
The Debug test profile kind.
The Coverage test profile kind.
测试运行请求
测试运行请求是测试运行的前奏测试运行,测试运行是由传递请求到测试控制器创建测试运行。测试运行请求包含有关应运行哪些测试、不应运行哪些测试以及如何运行这些测试(通过配置文件)的信息。
通常,TestRunRequests 由编辑器创建并传递到
TestRunProfile.runHandler,但是你也可以在 runHandler之外创建测试请求和运行。
构造函数
新的测试运行请求(包含?: 只读 测试项[], 排除?: 只读 测试项[], 配置?: 测试运行配置, 连续?: 布尔值, 保持焦点?: 布尔值): 测试运行请求
| Parameter | Description |
|---|---|
| include?: readonly TestItem[] | Array of specific tests to run, or undefined to run all tests |
| exclude?: readonly TestItem[] | An array of tests to exclude from the run. |
| profile?: TestRunProfile | The run profile used for this request. |
| continuous?: boolean | Whether to run tests continuously as source changes. |
| preserveFocus?: boolean | Whether to preserve the user's focus when the run is started |
| Returns | Description |
| TestRunRequest |
属性
Whether the profile should run continuously as source code changes. Only relevant for profiles that set TestRunProfile.supportsContinuousRun.
排除:只读测试项[]
An array of tests the user has marked as excluded from the test included in this run; exclusions should apply after inclusions.
May be omitted if no exclusions were requested. Test controllers should not run excluded tests or any children of excluded tests.
包含:只读 测试项数组
A filter for specific tests to run. If given, the extension should run all of the included tests and all their children, excluding any tests that appear in TestRunRequest.exclude. If this property is undefined, then the extension should simply run all tests.
The process of running tests should resolve the children of any test items who have not yet been resolved.
Controls how test Test Results view is focused. If true, the editor will keep the maintain the user's focus. If false, the editor will prefer to move focus into the Test Results view, although this may be configured by users.
配置文件:测试运行配置文件
The profile used for this request. This will always be defined for requests issued from the editor UI, though extensions may programmatically create requests not associated with any profile.
测试标签
构造函数
新的测试标签(id: 字符串): 测试标签
Creates a new TestTag instance.
| Parameter | Description |
|---|---|
| id: string | ID of the test tag. |
| Returns | Description |
| TestTag |
属性
ID of the test tag. TestTag instances with the same ID are considered
to be identical.
文本文档
表示一个文本文档,例如源文件。文本文档有 行和关于其底层资源(如文件)的知识。
属性
The file encoding of this document that will be used when the document is saved.
Use the onDidChangeTextDocument-event to get notified when the document encoding changes.
Note that the possible encoding values are currently defined as any of the following: 'utf8', 'utf8bom', 'utf16le', 'utf16be', 'windows1252', 'iso88591', 'iso88593', 'iso885915', 'macroman', 'cp437', 'windows1256', 'iso88596', 'windows1257', 'iso88594', 'iso885914', 'windows1250', 'iso88592', 'cp852', 'windows1251', 'cp866', 'cp1125', 'iso88595', 'koi8r', 'koi8u', 'iso885913', 'windows1253', 'iso88597', 'windows1255', 'iso88598', 'iso885910', 'iso885916', 'windows1254', 'iso88599', 'windows1258', 'gbk', 'gb18030', 'cp950', 'big5hkscs', 'shiftjis', 'eucjp', 'euckr', 'windows874', 'iso885911', 'koi8ru', 'koi8t', 'gb2312', 'cp865', 'cp850'.
行尾:行尾
The end of line sequence that is predominately used in this document.
The file system path of the associated resource. Shorthand notation for TextDocument.uri.fsPath. Independent of the uri scheme.
true if the document has been closed. A closed document isn't synchronized anymore
and won't be re-used when the same resource is opened again.
true if there are unpersisted changes.
Is this document representing an untitled file which has never been saved yet. Note that
this does not mean the document will be saved to disk, use Uri.scheme
to figure out where a document will be saved, e.g. file, ftp etc.
The identifier of the language associated with this document.
The number of lines in this document.
uri:Uri
The associated uri for this document.
Note that most documents use the file-scheme, which means they are files on disk. However, not all documents are
saved on disk and therefore the scheme must be checked before trying to access the underlying file or siblings on disk.
See also
The version number of this document (it will strictly increase after each change, including undo/redo).
方法
获取文本(范围?: 范围): 字符串
Get the text of this document. A substring can be retrieved by providing a range. The range will be adjusted.
| Parameter | Description |
|---|---|
| range?: Range | Include only the text included by the range. |
| Returns | Description |
| string | The text inside the provided range or the entire text. |
getWordRangeAtPosition(位置: Position, 正则表达式?: RegExp): Range
Get a word-range at the given position. By default words are defined by common separators, like space, -, _, etc. In addition, per language custom [word definitions] can be defined. It is also possible to provide a custom regular expression.
- Note 1: A custom regular expression must not match the empty string and if it does, it will be ignored.
- Note 2: A custom regular expression will fail to match multiline strings and in the name of speed regular expressions should not match words with spaces. Use TextLine.text for more complex, non-wordy, scenarios.
The position will be adjusted.
行号(行: 数字): 文本行
Returns a text line denoted by the line number. Note that the returned object is not live and changes to the document are not reflected.
Returns a text line denoted by the position. Note that the returned object is not live and changes to the document are not reflected.
The position will be adjusted.
See also TextDocument.lineAt
偏移位置(位置: Position): 数字
Converts the position to a zero-based offset.
The position will be adjusted.
| Parameter | Description |
|---|---|
| position: Position | A position. |
| Returns | Description |
| number | A valid zero-based offset in UTF-16 code units. |
位置在(偏移: 数字))位置
Converts a zero-based offset to a position.
| Parameter | Description |
|---|---|
| offset: number | A zero-based offset into the document. This offset is in UTF-16 code units. |
| Returns | Description |
| Position | A valid Position. |
Save the underlying file.
| Parameter | Description |
|---|---|
| Returns | Description |
| Thenable<boolean> | A promise that will resolve to |
Ensure a position is contained in the range of this document.
Ensure a range is completely contained in this document.
文本文档更改事件
描述事务性文档更改的事件。
属性
内容更改:只读TextDocumentContentChangeEvent[]
An array of content changes.
文档:文本文档
The affected document.
原因:文本文档更改原因
The reason why the document was changed.
Is undefined if the reason is not known.
文本文档更改原因
文本文件更改的原因。
枚举成员
The text change is caused by an undo operation.
The text change is caused by an redo operation.
文本文档内容更改事件
属性
范围:范围
The range that got replaced.
The length of the range that got replaced.
The offset of the range that got replaced.
The new text for the range.
文本文档内容提供者
文本文档内容提供者允许将只读文档添加到编辑器中,例如来自 dll 的源代码或来自 md 的生成的 html。
内容提供者是注册 的uri-scheme。当要加载具有该方案的uri时,内容提供者会被询问。
事件
An event to signal a resource has changed.
方法
提供文本文档内容(uri: Uri, 令牌: CancellationToken): 提供者结果<字符串>
Provide textual content for a given uri.
The editor will use the returned string-content to create a readonly document. Resources allocated should be released when the corresponding document has been closed.
Note: The contents of the created document might not be identical to the provided text due to end-of-line-sequence normalization.
| Parameter | Description |
|---|---|
| uri: Uri | An uri which scheme matches the scheme this provider was registered for. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<string> | A string or a thenable that resolves to such. |
文本文档保存原因
表示保存文本文档的原因。
枚举成员
Manually triggered, e.g. by the user pressing save, by starting debugging, or by an API call.
Automatic after a delay.
When the editor lost focus.
文本文档显示选项
属性
An optional flag that when true will stop the editor from taking focus.
An optional flag that controls if an editor-tab shows as preview. Preview tabs will be replaced and reused until set to stay - either explicitly or through editing.
Note that the flag is ignored if a user has disabled preview editors in settings.
选择?:范围
An optional selection to apply for the document in the editor.
视图列?:视图列
An optional view column in which the editor should be shown. The default is the active. Columns that do not exist will be created as needed up to the maximum of ViewColumn.Nine. Use ViewColumn.Beside to open the editor to the side of the currently active one.
文本文档将保存事件
属性
文档:文本文档
The document that will be saved.
原因:文本文档保存原因
The reason why save was triggered.
方法
等待直到(可等待对象: Thenable<只读 TextEdit[]>): 无返回值
Allows to pause the event loop and to apply pre-save-edits. Edits of subsequent calls to this function will be applied in order. The edits will be ignored if concurrent modifications of the document happened.
Note: This function can only be called during event dispatch and not in an asynchronous manner:
workspace.onWillSaveTextDocument(event => {
// async, will *throw* an error
setTimeout(() => event.waitUntil(promise));
// sync, OK
event.waitUntil(promise);
});
| Parameter | Description |
|---|---|
| thenable: Thenable<readonly TextEdit[]> | A thenable that resolves to pre-save-edits. |
| Returns | Description |
| void |
Allows to pause the event loop until the provided thenable resolved.
Note: This function can only be called during event dispatch.
| Parameter | Description |
|---|---|
| thenable: Thenable<any> | A thenable that delays saving. |
| Returns | Description |
| void |
文本编辑器
文本编辑代表应应用于文档的编辑。
静态
Utility to create a delete edit.
Utility to create an insert edit.
Utility to create a replace edit.
Utility to create an eol-edit.
构造函数
新的TextEdit(范围: 范围, 新文本: 字符串): TextEdit
Create a new TextEdit.
属性
新行尾?: 行尾
The eol-sequence used in the document.
Note that the eol-sequence will be applied to the whole document.
The string this edit will insert.
范围:范围
The range this edit applies to.
文本编辑器
表示一个附加到文档上的编辑器。
属性
文档:文本文档
The document associated with this text editor. The document will be the same for the entire lifetime of this text editor.
选项:文本编辑器选项
Text editor options.
选择:选择
The primary selection on this text editor. Shorthand for TextEditor.selections[0].
选择:只读选择[]
The selections in this text editor. The primary selection is always at index 0.
视图列:视图列
The column in which this editor shows. Will be undefined in case this
isn't one of the main editors, e.g. an embedded editor, or when the editor
column is larger than three.
可见范围:只读范围数组
The current visible ranges in the editor (vertically). This accounts only for vertical scrolling, and not for horizontal scrolling.
方法
编辑(回调: (编辑构建器: 文本编辑器编辑) => 无, 选项?: {撤销停止后: 布尔值, 撤销停止前: 布尔值}): 然后可<布尔值>
Perform an edit on the document associated with this text editor.
The given callback-function is invoked with an edit-builder which must be used to make edits. Note that the edit-builder is only valid while the callback executes.
| Parameter | Description |
|---|---|
| callback: (editBuilder: TextEditorEdit) => void | A function which can create edits using an edit-builder. |
| options?: {undoStopAfter: boolean, undoStopBefore: boolean} | The undo/redo behavior around this edit. By default, undo stops will be created before and after this edit. |
| Returns | Description |
| Thenable<boolean> | A promise that resolves with a value indicating if the edits could be applied. |
Hide the text editor.
- deprecated - Use the command
workbench.action.closeActiveEditorinstead. This method shows unexpected behavior and will be removed in the next major update.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
插入片段(片段: 片段字符串, 位置?: 范围 | 位置 | 只读 范围[] | 只读 位置[], 选项?: {保持空白字符: 布尔值, 可撤销停止后: 布尔值, 可撤销停止前: 布尔值}): 可承诺<布尔值>
Insert a snippet and put the editor into snippet mode. "Snippet mode" means the editor adds placeholders and additional cursors so that the user can complete or accept the snippet.
| Parameter | Description |
|---|---|
| snippet: SnippetString | The snippet to insert in this edit. |
| location?: Range | Position | readonly Range[] | readonly Position[] | Position or range at which to insert the snippet, defaults to the current editor selection or selections. |
| options?: {keepWhitespace: boolean, undoStopAfter: boolean, undoStopBefore: boolean} | The undo/redo behavior around this edit. By default, undo stops will be created before and after this edit. |
| Returns | Description |
| Thenable<boolean> | A promise that resolves with a value indicating if the snippet could be inserted. Note that the promise does not signal that the snippet is completely filled-in or accepted. |
显示范围(范围: 范围, 显示类型?: 文本编辑器显示类型): 无
Scroll as indicated by revealType in order to reveal the given range.
| Parameter | Description |
|---|---|
| range: Range | A range. |
| revealType?: TextEditorRevealType | The scrolling strategy for revealing |
| Returns | Description |
| void |
设置装饰(装饰类型: 文本编辑器装饰类型, 范围或选项: 只读 范围[] | 只读 装饰选项[]): 无
Adds a set of decorations to the text editor. If a set of decorations already exists with
the given decoration type, they will be replaced. If
rangesOrOptions is empty, the existing decorations with the given decoration type
will be removed.
See also createTextEditorDecorationType.
| Parameter | Description |
|---|---|
| decorationType: TextEditorDecorationType | A decoration type. |
| rangesOrOptions: readonly Range[] | readonly DecorationOptions[] | |
| Returns | Description |
| void |
显示(列?: 查看列): 无
Show the text editor.
- deprecated - Use window.showTextDocument instead.
| Parameter | Description |
|---|---|
| column?: ViewColumn | The column in which to show this editor. This method shows unexpected behavior and will be removed in the next major update. |
| Returns | Description |
| void |
文本编辑器光标样式
光标的渲染样式。
枚举成员
Render the cursor as a vertical thick line.
Render the cursor as a block filled.
Render the cursor as a thick horizontal line.
Render the cursor as a vertical thin line.
Render the cursor as a block outlined.
Render the cursor as a thin horizontal line.
文本编辑器装饰类型
获取一个TextEditorDecorationType的实例
使用createTextEditorDecorationType。
属性
Internal representation of the handle.
方法
Remove this decoration type and all decorations on all text editors using it.
| Parameter | Description |
|---|---|
| Returns | Description |
| void |
文本编辑器编辑
方法
Delete a certain text region.
插入(位置: 位置, 值: 字符串): 无
Insert text at a location.
You can use \r\n or \n in value and they will be normalized to the current document.
Although the equivalent text edit can be made with replace, insert will produce a different resulting selection (it will get moved).
| Parameter | Description |
|---|---|
| location: Position | The position where the new text should be inserted. |
| value: string | The new text this operation should insert. |
| Returns | Description |
| void |
替换(位置: 范围 | 位置 | 选择, 值: 字符串): 无
Replace a certain text region with a new value.
You can use \r\n or \n in value and they will be normalized to the current document.
设置行尾(行尾: 行尾): 无返回值
Set the end of line sequence.
文本编辑器行号样式
行号的渲染样式。
枚举成员
Do not render the line numbers.
Render the line numbers.
Render the line numbers with values relative to the primary cursor location.
Render the line numbers on every 10th line number.
文本编辑器选项
属性
光标样式?:文本编辑器光标样式
The rendering style of the cursor in this editor. When getting a text editor's options, this property will always be present. When setting a text editor's options, this property is optional.
The number of spaces to insert when insertSpaces is true.
When getting a text editor's options, this property will always be a number (resolved).
When setting a text editor's options, this property is optional and it can be a number or "tabSize".
When pressing Tab insert n spaces.
When getting a text editor's options, this property will always be a boolean (resolved).
When setting a text editor's options, this property is optional and it can be a boolean or "auto".
行号?:文本编辑器行号样式
Render relative line numbers w.r.t. the current line number. When getting a text editor's options, this property will always be present. When setting a text editor's options, this property is optional.
The size in spaces a tab takes. This is used for two purposes:
- the rendering width of a tab character;
- the number of spaces to insert when insertSpaces is true
and
indentSizeis set to"tabSize".
When getting a text editor's options, this property will always be a number (resolved).
When setting a text editor's options, this property is optional and it can be a number or "auto".
文本编辑器选项更改事件
表示一个描述 文本编辑器选项更改的事件。
属性
选项:文本编辑器选项
The new value for the text editor's options.
文本编辑器:文本编辑器
The text editor for which the options have changed.
文本编辑器显示类型
代表不同的揭示策略在文本编辑器中。
枚举成员
The range will be revealed with as little scrolling as possible.
The range will always be revealed in the center of the viewport.
If the range is outside the viewport, it will be revealed in the center of the viewport. Otherwise, it will be revealed with as little scrolling as possible.
The range will always be revealed at the top of the viewport.
文本编辑器选择更改事件
属性
种类:TextEditorSelectionChangeKind
The change kind which has triggered this
event. Can be undefined.
选择:只读选择[]
The new value for the text editor's selections.
文本编辑器:文本编辑器
The text editor for which the selections have changed.
文本编辑器选择更改类型
表示可能导致选择更改事件的来源。
枚举成员
Selection changed due to typing in the editor.
Selection change due to clicking in the editor.
Selection changed because a command ran.
文本编辑器视图列更改事件
表示一个描述文本编辑器视图列变化的事件。
属性
文本编辑器:文本编辑器
The text editor for which the view column has changed.
视图列:视图列
The new value for the text editor's view column.
文本编辑器可见范围更改事件
属性
文本编辑器:文本编辑器
The text editor for which the visible ranges have changed.
可见范围:只读范围数组
The new value for the text editor's visible ranges.
文本行
表示一行文本,例如源代码的一行。
TextLine 对象是不可变的。当文档更改时,之前检索到的行将不会代表最新的状态。
属性
The offset of the first character which is not a whitespace character as defined
by /\s/. Note that if a line is all whitespace the length of the line is returned.
Whether this line is whitespace only, shorthand for TextLine.firstNonWhitespaceCharacterIndex === TextLine.text.length.
The zero-based line number.
范围:范围
The range this line covers without the line separator characters.
包括换行符的范围:范围
The range this line covers with the line separator characters.
The text of this line without the line separator characters.
可主题化装饰附件渲染选项
属性
backgroundColor?:字符串 | ThemeColor
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
边框颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration.
颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to the decoration attachment.
内容图标路径?: 字符串 | Uri
An absolute path or an URI to an image to be rendered in the attachment. Either an icon or a text can be shown, but not both.
Defines a text content that is shown in the attachment. Either an icon or a text can be shown, but not both.
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
CSS styling property that will be applied to the decoration attachment.
可主题化装饰实例渲染选项
代表用于装饰实例的主题渲染选项。
属性
之后?:可主题化装饰附件渲染选项
Defines the rendering options of the attachment that is inserted after the decorated text.
之前?: 可主题化装饰附加渲染选项
Defines the rendering options of the attachment that is inserted before the decorated text.
可主题化装饰渲染选项
代表特定主题的渲染样式用于文本编辑器装饰。
属性
之后?:可主题化装饰附件渲染选项
Defines the rendering options of the attachment that is inserted after the decorated text.
backgroundColor?:字符串 | ThemeColor
Background color of the decoration. Use rgba() and define transparent background colors to play well with other decorations. Alternatively a color from the color registry can be referenced.
之前?: 可主题化装饰附加渲染选项
Defines the rendering options of the attachment that is inserted before the decorated text.
CSS styling property that will be applied to text enclosed by a decoration.
边框颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'border' for setting one or more of the individual border properties.
颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
gutterIconPath?:字符串 | Uri
An absolute path or an URI to an image to be rendered in the gutter.
Specifies the size of the gutter icon. Available values are 'auto', 'contain', 'cover' and any percentage value. For further information: https://msdn.microsoft.com/en-us/library/jj127316(v=vs.85).aspx
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
CSS styling property that will be applied to text enclosed by a decoration.
轮廓颜色?: 字符串 | 主题颜色
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
CSS styling property that will be applied to text enclosed by a decoration. Better use 'outline' for setting one or more of the individual outline properties.
概览刻度颜色?:字符串 | 主题颜色
The color of the decoration in the overview ruler. Use rgba() and define transparent colors to play well with other decorations.
CSS styling property that will be applied to text enclosed by a decoration.
主题颜色
引用其中一个工作台颜色,定义在https://code.visualstudio.com/api/references/theme-color中。 使用主题颜色优于自定义颜色,因为它允许主题作者和用户更改颜色。
构造函数
新主题颜色(id: 字符串): 主题颜色
Creates a reference to a theme color.
| Parameter | Description |
|---|---|
| id: string | of the color. The available colors are listed in https://code.visualstudio.com/api/references/theme-color. |
| Returns | Description |
| ThemeColor |
属性
The id of this color.
主题图标
引用命名的图标。目前,文件、文件夹和主题图标id是支持的。 使用主题图标而不是自定义图标,因为这样可以给产品主题作者更改图标的可能性。
注意,主题图标也可以在标签和描述中渲染。支持主题图标的地点会明确说明这一点,并且它们使用$(<name>)-语法,例如quickPick.label = "Hello World $(globe)".
静态
文件:主题图标
Reference to an icon representing a file. The icon is taken from the current file icon theme or a placeholder icon is used.
文件夹:主题图标
Reference to an icon representing a folder. The icon is taken from the current file icon theme or a placeholder icon is used.
构造函数
新主题图标(id: 字符串, 颜色?: 主题颜色): 主题图标
Creates a reference to a theme icon.
| Parameter | Description |
|---|---|
| id: string | id of the icon. The available icons are listed in https://code.visualstudio.com/api/references/icons-in-labels#icon-listing. |
| color?: ThemeColor | optional |
| Returns | Description |
| ThemeIcon |
属性
颜色?:主题颜色
The optional ThemeColor of the icon. The color is currently only used in TreeItem.
The id of the icon. The available icons are listed in https://code.visualstudio.com/api/references/icons-in-labels#icon-listing.
树复选框更改事件<T>
描述树形项复选框状态变化的事件。
属性
项目:ReadonlyArray<[T,TreeItemCheckboxState]>
The items that were checked or unchecked.
树数据提供者<T>
一个提供树数据的数据提供商
事件
onDidChangeTreeData?: Event<void | T | T[]>
An optional event to signal that an element or root has changed.
This will trigger the view to update the changed element/root and its children recursively (if shown).
To signal that root has changed, do not pass any argument or pass undefined or null.
方法
获取子项(元素?: T): 提供者结果<T[]>
Get the children of element or root if no element is passed.
| Parameter | Description |
|---|---|
| element?: T | The element from which the provider gets children. Can be |
| Returns | Description |
| ProviderResult<T[]> | Children of |
获取父级(元素: T): 提供者结果<T>
Optional method to return the parent of element.
Return null or undefined if element is a child of root.
NOTE: This method should be implemented in order to access reveal API.
| Parameter | Description |
|---|---|
| element: T | The element for which the parent has to be returned. |
| Returns | Description |
| ProviderResult<T> | Parent of |
getTreeItem(元素: T): 树项 | Thenable<树项>
Get TreeItem representation of the element
resolveTreeItem(项目: TreeItem, 元素: T, 令牌: CancellationToken): ProviderResult<TreeItem>
Called on hover to resolve the TreeItem property if it is undefined.
Called on tree item click/open to resolve the TreeItem property if it is undefined.
Only properties that were undefined can be resolved in resolveTreeItem.
Functionality may be expanded later to include being called to resolve other missing
properties on selection and/or on open.
Will only ever be called once per TreeItem.
onDidChangeTreeData should not be triggered from within resolveTreeItem.
Note that this function is called when tree items are already showing in the UI. Because of that, no property that changes the presentation (label, description, etc.) can be changed.
| Parameter | Description |
|---|---|
| item: TreeItem | Undefined properties of |
| element: T | The object associated with the TreeItem. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TreeItem> | The resolved tree item or a thenable that resolves to such. It is OK to return the given
|
树拖放控制器<T>
在TreeView中提供拖放支持。
属性
The mime types that the handleDrag method of this TreeDragAndDropController may add to the tree data transfer.
This could be well-defined, existing, mime types, and also mime types defined by the extension.
The recommended mime type of the tree (application/vnd.code.tree.<treeidlowercase>) will be automatically added.
The mime types that the handleDrop method of this DragAndDropController supports.
This could be well-defined, existing, mime types, and also mime types defined by the extension.
To support drops from trees, you will need to add the mime type of that tree.
This includes drops from within the same tree.
The mime type of a tree is recommended to be of the format application/vnd.code.tree.<treeidlowercase>.
Use the special files mime type to support all types of dropped files files, regardless of the file's actual mime type.
To learn the mime type of a dragged item:
- Set up your
DragAndDropController - Use the Developer: Set Log Level... command to set the level to "Debug"
- Open the developer tools and drag the item with unknown mime type over your tree. The mime types will be logged to the developer console
Note that mime types that cannot be sent to the extension will be omitted.
方法
处理拖动(源: 只读 数组[], 数据传输: DataTransfer, 令牌: CancellationToken): 无返回值 | Thenable<无返回值>
When the user starts dragging items from this DragAndDropController, handleDrag will be called.
Extensions can use handleDrag to add their DataTransferItem items to the drag and drop.
Mime types added in handleDrag won't be available outside the application.
When the items are dropped on another tree item in the same tree, your DataTransferItem objects
will be preserved. Use the recommended mime type for the tree (application/vnd.code.tree.<treeidlowercase>) to add
tree objects in a data transfer. See the documentation for DataTransferItem for how best to take advantage of this.
To add a data transfer item that can be dragged into the editor, use the application specific mime type "text/uri-list".
The data for "text/uri-list" should be a string with toString()ed Uris separated by \r\n. To specify a cursor position in the file,
set the Uri's fragment to L3,5, where 3 is the line number and 5 is the column number.
| Parameter | Description |
|---|---|
| source: readonly T[] | The source items for the drag and drop operation. |
| dataTransfer: DataTransfer | The data transfer associated with this drag. |
| token: CancellationToken | A cancellation token indicating that drag has been cancelled. |
| Returns | Description |
| void | Thenable<void> |
处理拖放(目标: T, 数据传输: DataTransfer, 令牌: CancellationToken): void | Thenable<void>
Called when a drag and drop action results in a drop on the tree that this DragAndDropController belongs to.
Extensions should fire onDidChangeTreeData for any elements that need to be refreshed.
| Parameter | Description |
|---|---|
| target: T | The target tree element that the drop is occurring on. When undefined, the target is the root. |
| dataTransfer: DataTransfer | The data transfer items of the source of the drag. |
| token: CancellationToken | A cancellation token indicating that the drop has been cancelled. |
| Returns | Description |
| void | Thenable<void> |
树项
树项是树的用户界面元素。树项由数据提供者创建。
构造函数
新的 TreeItem(Tab: 字符串 | TreeItemLabel, 可折叠状态?: TreeItemCollapsibleState): TreeItem
| Parameter | Description |
|---|---|
| label: string | TreeItemLabel | A human-readable string describing this item |
| collapsibleState?: TreeItemCollapsibleState | TreeItemCollapsibleState of the tree item. Default is TreeItemCollapsibleState.None |
| Returns | Description |
| TreeItem |
新的 TreeItem(资源Uri: Uri, 可折叠状态?: TreeItemCollapsibleState): TreeItem
| Parameter | Description |
|---|---|
| resourceUri: Uri | The Uri of the resource representing this item. |
| collapsibleState?: TreeItemCollapsibleState | TreeItemCollapsibleState of the tree item. Default is TreeItemCollapsibleState.None |
| Returns | Description |
| TreeItem |
属性
无障碍信息?: 无障碍信息
Accessibility information used when screen reader interacts with this tree item.
Generally, a TreeItem has no need to set the role of the accessibilityInformation;
however, there are cases where a TreeItem is not displayed in a tree-like way where setting the role may make sense.
复选框状态?: 树项复选框状态 | {无障碍信息: 无障碍信息, 状态: 树项复选框状态, 提示: 字符串}
TreeItemCheckboxState of the tree item. onDidChangeTreeData should be fired when checkboxState changes.
可折叠状态?:树项可折叠状态
TreeItemCollapsibleState of the tree item.
命令?:命令
The Command that should be executed when the tree item is selected.
Please use vscode.open or vscode.diff as command IDs when the tree item is opening
something in the editor. Using these commands ensures that the resulting editor will
appear consistent with how other built-in trees open editors.
Context value of the tree item. This can be used to contribute item specific actions in the tree.
For example, a tree item is given a context value as folder. When contributing actions to view/item/context
using menus extension point, you can specify context value for key viewItem in when expression like viewItem == folder.
"contributes": {
"menus": {
"view/item/context": [
{
"command": "extension.deleteFolder",
"when": "viewItem == folder"
}
]
}
}
This will show action extension.deleteFolder only for items with contextValue is folder.
A human-readable string which is rendered less prominent.
When true, it is derived from resourceUri and when falsy, it is not shown.
图标路径?: 字符串 | 图标路径
The icon path or ThemeIcon for the tree item.
When falsy, Folder Theme Icon is assigned, if item is collapsible otherwise File Theme Icon.
When a file or folder ThemeIcon is specified, icon is derived from the current file icon theme for the specified theme icon using resourceUri (if provided).
Optional id for the tree item that has to be unique across tree. The id is used to preserve the selection and expansion state of the tree item.
If not provided, an id is generated using the tree item's label. Note that when labels change, ids will change and that selection and expansion state cannot be kept stable anymore.
Tab?: 字符串 | 树项标签
A human-readable string describing this item. When falsy, it is derived from resourceUri.
资源Uri?: Uri
A Uri representing the resource associated with this item.
When set, this property is used to automatically derive several item properties if they are not explicitly provided:
- Label: Derived from the resource's file name when label is not provided.
- Description: Derived from the resource's path when description is set to
true. - Icon: Derived from the current file icon theme when iconPath is set to ThemeIcon.File or ThemeIcon.Folder.
工具提示?:字符串 | Markdown字符串
The tooltip text when you hover over this item.
树项复选框状态
树项目复选框状态
枚举成员
Determines an item is unchecked
Determines an item is checked
树项可折叠状态
树项目折叠状态
枚举成员
Determines an item can be neither collapsed nor expanded. Implies it has no children.
Determines an item is collapsed
Determines an item is expanded
树项目标签
描述树项目
属性
Ranges in the label to highlight. A range is defined as a tuple of two number where the first is the inclusive start index and the second the exclusive end index
A human-readable string describing the Tree item.
树视图<T>
表示树视图
事件
onDidChangeCheckboxState:事件<树复选框更改事件<T>>
An event to signal that an element or root has either been checked or unchecked.
onDidChangeSelection:事件<TreeViewSelectionChangeEvent<T>>
Event that is fired when the selection has changed
onDidChangeVisibility:事件<TreeViewVisibilityChangeEvent>
Event that is fired when visibility has changed
onDidCollapseElement:事件<TreeViewExpansionEvent<T>>
Event that is fired when an element is collapsed
onDidExpandElement:事件<TreeViewExpansionEvent<T>>
Event that is fired when an element is expanded
属性
徽章?: 查看徽章
The badge to display for this TreeView. To remove the badge, set to undefined.
An optional human-readable description which is rendered less prominently in the title of the view. Setting the title description to null, undefined, or empty string will remove the description from the view.
An optional human-readable message that will be rendered in the view. Setting the message to null, undefined, or empty string will remove the message from the view.
Currently selected elements.
The tree view title is initially taken from the extension package.json Changes to the title property will be properly reflected in the UI in the title of the view.
true if the tree view is visible otherwise false.
方法
Dispose this object.
| Parameter | Description |
|---|---|
| Returns | Description |
| any |
揭示(元素: T, 选项?: {展开: 数字 | 布尔值, 聚焦: 布尔值, 选择: 布尔值}): Thenable<无>
Reveals the given element in the tree view. If the tree view is not visible then the tree view is shown and element is revealed.
By default revealed element is selected.
In order to not to select, set the option select to false.
In order to focus, set the option focus to true.
In order to expand the revealed element, set the option expand to true. To expand recursively set expand to the number of levels to expand.
- NOTE: You can expand only to 3 levels maximum.
- NOTE: The TreeDataProvider that the
TreeViewis registered with with must implement getParent method to access this API.
| Parameter | Description |
|---|---|
| element: T | |
| options?: {expand: number | boolean, focus: boolean, select: boolean} | |
| Returns | Description |
| Thenable<void> |
TreeViewExpansionEvent<T>
当TreeView中的元素展开或折叠时触发的事件
属性
Element that is expanded or collapsed.
TreeViewOptions<T>
属性
Whether the tree supports multi-select. When the tree supports multi-select and a command is executed from the tree, the first argument to the command is the tree item that the command was executed on and the second argument is an array containing all selected tree items.
拖放控制器?:树拖放控制器<T>
An optional interface to implement drag and drop in the tree view.
By default, when the children of a tree item have already been fetched, child checkboxes are automatically managed based on the checked state of the parent tree item.
If the tree item is collapsed by default (meaning that the children haven't yet been fetched) then child checkboxes will not be updated.
To override this behavior and manage child and parent checkbox state in the extension, set this to true.
Examples where TreeViewOptions.manageCheckboxStateManually is false, the default behavior:
A tree item is checked, then its children are fetched. The children will be checked.
A tree item's parent is checked. The tree item and all of it's siblings will be checked.
- Parent
- Child 1
- Child 2 When the user checks Parent, the tree will look like this:
- Parent
- Child 1
- Child 2
- A tree item and all of it's siblings are checked. The parent will be checked.
- Parent
- Child 1
- Child 2 When the user checks Child 1 and Child 2, the tree will look like this:
- Parent
- Child 1
- Child 2
- A tree item is unchecked. The parent will be unchecked.
- Parent
- Child 1
- Child 2 When the user unchecks Child 1, the tree will look like this:
- Parent
- Child 1
- Child 2
Whether to show collapse all action or not.
树数据提供者:树数据提供者<T>
A data provider that provides tree data.
TreeViewSelectionChangeEvent<T>
属性
Selected elements.
树视图可见性更改事件
属性
true if the tree view is visible otherwise false.
类型定义提供程序
类型定义提供者定义了扩展与“转到类型定义”功能之间的合同。
方法
提供类型定义(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<定义 | 位置链接[]>
Provide the type definition of the symbol at the given position and document.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<Definition | LocationLink[]> | A definition or a thenable that resolves to such. The lack of a result can be
signaled by returning |
类型层次结构项
表示类型层次结构中的一项,例如一个类或接口。
构造函数
新的类型层次结构项(种类: 符号种类, 名称: 字符串, 详细信息: 字符串, 统一资源标识符: Uri, 范围: 范围, 选择范围: 范围): 类型层次结构项
Creates a new type hierarchy item.
| Parameter | Description |
|---|---|
| kind: SymbolKind | The kind of the item. |
| name: string | The name of the item. |
| detail: string | The details of the item. |
| uri: Uri | The Uri of the item. |
| range: Range | The whole range of the item. |
| selectionRange: Range | The selection range of the item. |
| Returns | Description |
| TypeHierarchyItem |
属性
More detail for this item, e.g. the signature of a function.
种类:SymbolKind
The kind of this item.
The name of this item.
范围:范围
The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
选择范围:范围
The range that should be selected and revealed when this symbol is being picked, e.g. the name of a class. Must be contained by the range-property.
Tab?:只读 SymbolTag[]{}
Tags for this item.
uri:Uri
The resource identifier of this item.
类型层次结构提供程序
类型层次提供程序接口描述了扩展与类型层次功能之间的契约。
方法
准备类型层次结构(文档: 文本文档, 位置: 位置, 令牌: 取消令牌): 提供者结果<类型层次结构项 | 类型层次结构项数组>
Bootstraps type hierarchy by returning the item that is denoted by the given document
and position. This item will be used as entry into the type graph. Providers should
return undefined or null when there is no item at the given location.
| Parameter | Description |
|---|---|
| document: TextDocument | The document in which the command was invoked. |
| position: Position | The position at which the command was invoked. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TypeHierarchyItem | TypeHierarchyItem[]> | One or multiple type hierarchy items or a thenable that resolves to such. The lack of a result can be
signaled by returning |
提供类型层次结构的子类型(项目: 类型层次结构项, 令牌: 取消令牌): 提供者结果<类型层次结构项[]>
Provide all subtypes for an item, e.g all types which are derived/inherited from the given item. In graph terms this describes directed and annotated edges inside the type graph, e.g the given item is the starting node and the result is the nodes that can be reached.
| Parameter | Description |
|---|---|
| item: TypeHierarchyItem | The hierarchy item for which subtypes should be computed. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TypeHierarchyItem[]> | A set of direct subtypes or a thenable that resolves to such. The lack of a result can be
signaled by returning |
提供类型层次结构的超类型(项目: 类型层次结构项, 令牌: 取消令牌): 提供结果<类型层次结构项[]>
Provide all supertypes for an item, e.g all types from which a type is derived/inherited. In graph terms this describes directed and annotated edges inside the type graph, e.g the given item is the starting node and the result is the nodes that can be reached.
| Parameter | Description |
|---|---|
| item: TypeHierarchyItem | The hierarchy item for which super types should be computed. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<TypeHierarchyItem[]> | A set of direct supertypes or a thenable that resolves to such. The lack of a result can be
signaled by returning |
UIKind
可能的可以使用扩展的用户界面类型。
枚举成员
Extensions are accessed from a desktop application.
Extensions are accessed from a web browser.
乌里
一个通用资源标识符,代表磁盘上的文件或其他资源,如未命名的资源。
静态
文件(路径: 字符串): Uri
Create an URI from a file system path. The scheme
will be file.
The difference between Uri.parse and Uri.file is that the latter treats the argument
as path, not as stringified-uri. E.g. Uri.file(path) is not the same as
Uri.parse('file://' + path) because the path might contain characters that are
interpreted (#_ and ?). See the following sample:
const good = URI.file('/coding/c#/project1');
good.scheme === 'file';
good.path === '/coding/c#/project1';
good.fragment === '';
const bad = URI.parse('file://' + '/coding/c#/project1');
bad.scheme === 'file';
bad.path === '/coding/c'; // path is now broken
bad.fragment === '/project1';
| Parameter | Description |
|---|---|
| path: string | A file system or UNC path. |
| Returns | Description |
| Uri | A new Uri instance. |
从(组件: {权威: 字符串, 片段: 字符串, 路径: 字符串, 查询: 字符串, 方案: 字符串}): Uri
Create an URI from its component parts
See also Uri.toString
| Parameter | Description |
|---|---|
| components: {authority: string, fragment: string, path: string, query: string, scheme: string} | The component parts of an Uri. |
| Returns | Description |
| Uri | A new Uri instance. |
joinPath(base: Uri, ...pathSegments: string[]): Uri
Create a new uri which path is the result of joining the path of the base uri with the provided path segments.
- Note 1:
joinPathonly affects the path component and all other components (scheme, authority, query, and fragment) are left as they are. - Note 2: The base uri must have a path; an error is thrown otherwise.
The path segments are normalized in the following ways:
- sequences of path separators (
/or\) are replaced with a single separator - for
file-uris on windows, the backslash-character (``) is considered a path-separator - the
..-segment denotes the parent segment, the.denotes the current segment - paths have a root which always remains, for instance on windows drive-letters are roots
so that is true:
joinPath(Uri.file('file:///c:/root'), '../../other').fsPath === 'c:/other'
解析(值: 字符串, 严格?: 布尔值): Uri
Create an URI from a string, e.g. http://www.example.com/some/path,
file:///usr/home, or scheme:with/path.
Note that for a while uris without a scheme were accepted. That is not correct
as all uris should have a scheme. To avoid breakage of existing code the optional
strict-argument has been added. We strongly advise to use it, e.g. Uri.parse('my:uri', true)
See also Uri.toString
| Parameter | Description |
|---|---|
| value: string | The string value of an Uri. |
| strict?: boolean | Throw an error when |
| Returns | Description |
| Uri | A new Uri instance. |
构造函数
新的 Uri(方案: 字符串, 权威: 字符串, 路径: 字符串, 查询: 字符串, 片段: 字符串): Uri
Use the file and parse factory functions to create new Uri objects.
| Parameter | Description |
|---|---|
| scheme: string | |
| authority: string | |
| path: string | |
| query: string | |
| fragment: string | |
| Returns | Description |
| Uri |
属性
Authority is the www.example.com part of http://www.example.com/some/path?query#fragment.
The part between the first double slashes and the next slash.
Fragment is the fragment part of http://www.example.com/some/path?query#fragment.
The string representing the corresponding file system path of this Uri.
Will handle UNC paths and normalize windows drive letters to lower-case. Also uses the platform specific path separator.
- Will not validate the path for invalid characters and semantics.
- Will not look at the scheme of this Uri.
- The resulting string shall not be used for display purposes but
for disk operations, like
readFileet al.
The difference to the path-property is the use of the platform specific path separator and the handling of UNC paths. The sample below outlines the difference:
const u = URI.parse('file://server/c$/folder/file.txt');
u.authority === 'server';
u.path === '/c$/folder/file.txt';
u.fsPath === '\\serverc$\folder\file.txt';
Path is the /some/path part of http://www.example.com/some/path?query#fragment.
Query is the query part of http://www.example.com/some/path?query#fragment.
Scheme is the http part of http://www.example.com/some/path?query#fragment.
The part before the first colon.
方法
Returns a JSON representation of this Uri.
| Parameter | Description |
|---|---|
| Returns | Description |
| any | An object. |
Returns a string representation of this Uri. The representation and normalization of a URI depends on the scheme.
- The resulting string can be safely used with Uri.parse.
- The resulting string shall not be used for display purposes.
Note that the implementation will encode aggressive which often leads to unexpected,
but not incorrect, results. For instance, colons are encoded to %3A which might be unexpected
in file-uri. Also & and = will be encoded which might be unexpected for http-uris. For stability
reasons this cannot be changed anymore. If you suffer from too aggressive encoding you should use
the skipEncoding-argument: uri.toString(true).
| Parameter | Description |
|---|---|
| skipEncoding?: boolean | Do not percentage-encode the result, defaults to |
| Returns | Description |
| string | A string representation of this Uri. |
with(change: {authority: 字符串, fragment: 字符串, path: 字符串, query: 字符串, scheme: 字符串}): Uri
Derive a new Uri from this Uri.
let file = Uri.parse('before:some/file/path');
let other = file.with({ scheme: 'after' });
assert.ok(other.toString() === 'after:some/file/path');
| Parameter | Description |
|---|---|
| change: {authority: string, fragment: string, path: string, query: string, scheme: string} | An object that describes a change to this Uri. To unset components use |
| Returns | Description |
| Uri | A new Uri that reflects the given change. Will return |
统一资源标识符处理程序
uri处理器负责处理系统范围内的uri。
方法
处理Uri(uri: Uri): ProviderResult<void>
Handle the provided system-wide Uri.
See also window.registerUriHandler.
| Parameter | Description |
|---|---|
| uri: Uri | |
| Returns | Description |
| ProviderResult<void> |
查看徽章
一个显示观点价值的徽章
属性
A label to present in tooltip for the badge.
The value to present in the badge.
视图列
表示编辑器在Windows中的位置。编辑器可以排列成网格,每一列代表网格中编辑器的位置,按其出现顺序计数。
枚举成员
A symbolic editor column representing the column to the side of the active one. This value
can be used when opening editors, but the resolved viewColumn-value
of editors will always be One, Two, Three,... or undefined but never Beside.
A symbolic editor column representing the currently active column. This value
can be used when opening editors, but the resolved viewColumn-value
of editors will always be One, Two, Three,... or undefined but never Active.
The first editor column.
The second editor column.
The third editor column.
The fourth editor column.
The fifth editor column.
The sixth editor column.
The seventh editor column.
The eighth editor column.
The ninth editor column.
网页视图
显示html内容,类似于一个iframe。
事件
onDidReceiveMessage:事件<任何>
Fired when the webview content posts a message.
Webview content can post strings or json serializable objects back to an extension. They cannot
post Blob, File, ImageData and other DOM specific objects since the extension that receives the
message does not run in a browser environment.
属性
Content security policy source for webview resources.
This is the origin that should be used in a content security policy rule:
`img-src https: ${webview.cspSource} ...;`;
HTML contents of the webview.
This should be a complete, valid html document. Changing this property causes the webview to be reloaded.
Webviews are sandboxed from normal extension process, so all communication with the webview must use
message passing. To send a message from the extension to the webview, use postMessage.
To send message from the webview back to an extension, use the acquireVsCodeApi function inside the webview
to get a handle to the editor's api and then call .postMessage():
<script>
const vscode = acquireVsCodeApi(); // acquireVsCodeApi can only be invoked once
vscode.postMessage({ message: 'hello!' });
</script>
To load a resources from the workspace inside a webview, use the asWebviewUri method and ensure the resource's directory is listed in WebviewOptions.localResourceRoots.
Keep in mind that even though webviews are sandboxed, they still allow running scripts and loading arbitrary content, so extensions must follow all standard web security best practices when working with webviews. This includes properly sanitizing all untrusted input (including content from the workspace) and setting a content security policy.
选项:WebView选项
Content settings for the webview.
方法
Convert a uri for the local file system to one that can be used inside webviews.
Webviews cannot directly load resources from the workspace or local file system using file: uris. The
asWebviewUri function takes a local file: uri and converts it into a uri that can be used inside of
a webview to load the same resource:
webview.html = `<img src="${webview.asWebviewUri(
vscode.Uri.file('/Users/codey/workspace/cat.gif')
)}">`;
postMessage(消息: 任何): Thenable<布尔值>
Post a message to the webview content.
Messages are only delivered if the webview is live (either visible or in the
background with retainContextWhenHidden).
| Parameter | Description |
|---|---|
| message: any | Body of the message. This must be a string or other json serializable object. For older versions of vscode, if an However if your extension targets vscode 1.57+ in the |
| Returns | Description |
| Thenable<boolean> | A promise that resolves when the message is posted to a webview or when it is dropped because the message was not deliverable. Returns A response of If you want confirm that a message as actually received, you can try having your webview posting a confirmation message back to your extension. |
网页视图选项
网页视图的内容设置。
属性
Controls whether command uris are enabled in webview content or not.
Defaults to false (command uris are disabled).
If you pass in an array, only the commands in the array are allowed.
Controls whether forms are enabled in the webview content or not.
Defaults to true if scripts are enabled. Otherwise defaults to false. Explicitly setting this property to either true or false overrides the default.
Controls whether scripts are enabled in the webview content or not.
Defaults to false (scripts-disabled).
本地资源根目录?:只读Uri[]
Root paths from which the webview can load local (filesystem) resources using uris from asWebviewUri
Default to the root folders of the current workspace plus the extension's install directory.
Pass in an empty array to disallow access to any local resources.
端口映射?:只读 Webview端口映射[]
Mappings of localhost ports used inside the webview.
Port mapping allow webviews to transparently define how localhost ports are resolved. This can be used to allow using a static localhost port inside the webview that is resolved to random port that a service is running on.
If a webview accesses localhost content, we recommend that you specify port mappings even if
the webviewPort and extensionHostPort ports are the same.
Note that port mappings only work for http or https urls. Websocket urls (e.g. ws://localhost:3000)
cannot be mapped to another port.
网页视图面板
一个包含网页视图的面板。
事件
onDidChangeViewState:事件<WebviewPanelOnDidChangeViewStateEvent>
Fired when the panel's view state changes.
onDidDispose:事件<无>
Fired when the panel is disposed.
This may be because the user closed the panel or because dispose was called on it.
Trying to use the panel after it has been disposed throws an exception.
属性
Whether the panel is active (focused by the user).
图标路径?: 图标路径
Icon for the panel shown in UI.
Content settings for the webview panel.
Title of the panel shown in UI.
视图列:视图列
Editor position of the panel. This property is only set if the webview is in one of the editor view columns.
标识网页视图面板的类型,例如'markdown.preview'输入:.
面板是否可见。
网页视图:网页视图
Webview 属于该面板。
方法
销毁网页视图面板。
如果面板正在显示,则关闭面板并释放WebView拥有的资源。 当用户关闭WebView面板时,WebView面板也会被释放。两种情况都会 触发onDidDispose事件。
| 参数 | 描述 |
|---|---|
| 退货 | 描述 |
| 任何 |
显示(视图列?: 视图列, 保持焦点?: 布尔值): 无
在指定的列中显示网页视图面板。
一个网页视图面板只能显示在一行中。如果它已经在显示,此方法将其移动到新的列中。
| 参数 | 描述 |
|---|---|
| 视图列?:视图列 | 查看列以显示面板。显示在当前WebviewPanel.viewColumn(如果未定义则显示)。 |
当 | |
| 退货 | 描述 |
| 无效 |
WebviewPanelOnDidChangeViewStateEvent
当一个webView面板的视图状态更改时触发的事件。
属性
webviewPanel:WebviewPanel
WebviewPanel 视图状态更改。
网页视图面板选项
网页视图面板的内容设置。
属性
控制面板中查找小部件是否启用。
默认为假的输入:.
控制是否在面板不再可见时保留WebView面板的内容(iframe)。
Normally the webview panel's html context is created when the panel becomes visible
and destroyed when it is hidden. Extensions that have complex state
or UI can set the retainContextWhenHidden to make the editor keep the webview
context around, even when the webview moves to a background tab. When a webview using
retainContextWhenHidden becomes hidden, its scripts and other dynamic content are suspended.
When the panel becomes visible again, the context is automatically restored
in the exact same state it was in originally. You cannot send messages to a
hidden webview, even with retainContextWhenHidden enabled.
retainContextWhenHidden has a high memory overhead and should only be used if
your panel's context cannot be quickly saved and restored.
WebviewPanelSerializer<T>
恢复vscode关闭时已保存的webview面板。
有两种类型的WebView持久化:
- 会话内持久化。
- 在多个会话之间保持(在编辑器重启时)。
A WebviewPanelSerializer 只有在第二种情况下才需要:在会话之间持久化WebView。
在一个会话中,持久化允许一个网页视图在变得隐藏时保存其状态,并在再次变得可见时从该状态恢复其内容。它完全由网页视图内容本身驱动。要保存持久化状态,请调用 acquireVsCodeApi().setState() 并传入任何可序列化为JSON的对象。要再次恢复状态,请调用 getState()
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
A WebviewPanelSerializer 将这种持久性扩展到编辑器的重启。当编辑器关闭时,它会将所有具有序列化器的 setState 网页视图的状态保存下来。在重新启动后,当网页视图首次变得可见时,这个状态会传递给 deserializeWebviewPanel。 扩展程序然后可以从这个状态恢复旧的 WebviewPanel。
方法
deserializeWebviewPanel deserializeWebviewPanel( webviewPanel: WebviewPanel, state: T ): Thenable
Restore a webview panel from its serialized state.
Called when a serialized webview first becomes visible.
| Parameter | Description |
|---|---|
| webviewPanel: WebviewPanel | Webview panel to restore. The serializer should take ownership of this panel. The
serializer must restore the webview's |
| state: T | Persisted state from the webview content. |
| Returns | Description |
| Thenable<void> | Thenable indicating that the webview has been fully restored. |
网页视口映射
定义了一个在WebView中用于本地主机的端口映射。
属性
Destination port. The webviewPort is resolved to this port.
Localhost port to remap inside the webview.
网页视图视图
基于网页视图的视图。
事件
onDidChangeVisibility:事件<无>
Event fired when the visibility of the view changes.
Actions that trigger a visibility change:
- The view is collapsed or expanded.
- The user switches to a different view group in the sidebar or panel.
Note that hiding a view using the context menu instead disposes of the view and fires onDidDispose.
onDidDispose:事件<无>
Event fired when the view is disposed.
Views are disposed when they are explicitly hidden by a user (this happens when a user right clicks in a view and unchecks the webview view).
Trying to use the view after it has been disposed throws an exception.
属性
徽章?: 查看徽章
The badge to display for this webview view. To remove the badge, set to undefined.
Human-readable string which is rendered less prominently in the title.
View title displayed in the UI.
The view title is initially taken from the extension package.json contribution.
Identifies the type of the webview view, such as 'hexEditor.dataView'.
Tracks if the webview is currently visible.
Views are visible when they are on the screen and expanded.
网页视图:网页视图
The underlying webview for the view.
方法
Reveal the view in the UI.
If the view is collapsed, this will expand it.
| Parameter | Description |
|---|---|
| preserveFocus?: boolean | When |
| Returns | Description |
| void |
网页视图视图提供者
用于创建WebviewView元素的提供者。
方法
解决网页视图视图(网页视图视图: WebviewView, 上下文: WebviewViewResolveContext<未知>, 令牌: CancellationToken): 无 | Thenable<无>
Resolves a webview view.
resolveWebviewView is called when a view first becomes visible. This may happen when the view is
first loaded or when the user hides and then shows a view again.
| Parameter | Description |
|---|---|
| webviewView: WebviewView | Webview view to restore. The provider should take ownership of this view. The
provider must set the webview's |
| context: WebviewViewResolveContext<unknown> | Additional metadata about the view being resolved. |
| token: CancellationToken | Cancellation token indicating that the view being provided is no longer needed. |
| Returns | Description |
| void | Thenable<void> | Optional thenable indicating that the view has been fully resolved. |
Webview视图解析上下文<T>
附加信息:正在解析的WebView视图。
属性
Persisted state from the webview content.
To save resources, the editor normally deallocates webview documents (the iframe content) that are not visible. For example, when the user collapse a view or switches to another top level activity in the sidebar, the WebviewView itself is kept alive but the webview's underlying document is deallocated. It is recreated when the view becomes visible again.
You can prevent this behavior by setting [WebviewOptions.retainContextWhenHidden retainContextWhenHidden](#_WebviewOptions.retainContextWhenHidden retainContextWhenHidden) in the WebviewOptions. However this increases resource usage and should be avoided wherever possible. Instead, you can use persisted state to save off a webview's state so that it can be quickly recreated as needed.
To save off a persisted state, inside the webview call acquireVsCodeApi().setState() with
any json serializable object. To restore the state again, call getState(). For example:
// Within the webview
const vscode = acquireVsCodeApi();
// Get existing state
const oldState = vscode.getState() || { value: 0 };
// Update state
setState({ value: oldState.value + 1 });
The editor ensures that the persisted state is saved correctly when a webview is hidden and across editor restarts.
Windows状态
表示Windows的状态。
属性
Whether the window has been interacted with recently. This will change immediately on activity, or after a short time of user inactivity.
Whether the current window is focused.
工作区配置
表示配置。它是合并视图
- 默认设置
- 全局(用户)设置
- 工作区设置
- 工作区文件夹设置 - 来自 工作区文件夹 下属于该请求资源的。
- 语言设置 - 根据请求的语言定义的设置。
有效值(由get返回)是按以下顺序覆盖或合并计算的:
defaultValue(如果在package.json否则从值的类型推导)globalValue(如果定义)workspaceValue(如果定义)workspaceFolderValue(如果定义)defaultLanguageValue(如果定义)globalLanguageValue(如果定义)workspaceLanguageValue(如果定义)workspaceFolderLanguageValue(如果定义)
注意: 仅 object 值类型会被合并,所有其他值类型会被覆盖。
示例 1:覆盖
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
value = 'off';
示例 2:语言值
defaultValue = 'on';
globalValue = 'relative';
workspaceFolderValue = 'off';
globalLanguageValue = 'on';
value = 'on';
示例 3:对象值
defaultValue = { a: 1, b: 2 };
globalValue = { b: 3, c: 4 };
value = { a: 1, b: 3, c: 4 };
注意: Workbench 和 Workbench 文件夹配置包含 launch 和 tasks 设置。它们的 basename 将成为部分章节标识符。以下片段展示了如何从 launch.json 中检索所有配置:
// launch.json configuration
const config = workspace.getConfiguration(
'launch',
vscode.workspace.workspaceFolders[0].uri
);
// retrieve values
const values = config.get('configurations');
参考设置获取更多信息。
方法
Return a value from this configuration.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| Returns | Description |
| T | The value |
Return a value from this configuration.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| defaultValue: T | A value should be returned when no value could be found, is |
| Returns | Description |
| T | The value |
Check if this configuration has a certain value.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| Returns | Description |
| boolean |
|
检查<T>(部分: 字符串): {默认语言值: T, 默认值: T, 全局语言值: T, 全局值: T, 键: 字符串, 语言ID: 字符串[], 工作区文件语言值: T, 工作区文件值: T, 工作区语言值: T, 工作区值: T}
Retrieve all information about a configuration setting. A configuration value often consists of a default value, a global or installation-wide value, a workspace-specific value, folder-specific value and language-specific values (if WorkspaceConfiguration is scoped to a language).
Also provides all language ids under which the given configuration setting is defined.
Note: The configuration name must denote a leaf in the configuration tree
(editor.fontSize vs editor) otherwise no result is returned.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| Returns | Description |
| {defaultLanguageValue: T, defaultValue: T, globalLanguageValue: T, globalValue: T, key: string, languageIds: string[], workspaceFolderLanguageValue: T, workspaceFolderValue: T, workspaceLanguageValue: T, workspaceValue: T} | Information about a configuration setting or |
更新(部分: 字符串, 值: 任意, 配置目标?: 布尔 | 配置目标, 在语言中覆盖?: 布尔): 然后可<无>
Update a configuration value. The updated configuration values are persisted.
A value can be changed in
- Global settings: Changes the value for all instances of the editor.
- Workspace settings: Changes the value for current workspace, if available.
- Workspace folder settings: Changes the value for settings from one of the Workspace Folders under which the requested resource belongs to.
- Language settings: Changes the value for the requested languageId.
Note: To remove a configuration value use undefined, like so: config.update('somekey', undefined)
- throws - error while updating
- configuration which is not registered.
- window configuration to workspace folder
- configuration to workspace or workspace folder when no workspace is opened.
- configuration to workspace folder when there is no workspace folder settings.
- configuration to workspace folder when WorkspaceConfiguration is not scoped to a resource.
| Parameter | Description |
|---|---|
| section: string | Configuration name, supports dotted names. |
| value: any | The new value. |
| configurationTarget?: boolean | ConfigurationTarget | The configuration target or a boolean value.
- If |
| overrideInLanguage?: boolean | Whether to update the value in the scope of requested languageId or not.
- If |
| Returns | Description |
| Thenable<void> |
工作区编辑
工作区编辑是对多个资源和文档的文本和文件更改的集合。
使用applyEdit函数来应用工作区编辑。
构造函数
新的工作区编辑():工作区编辑
| Parameter | Description |
|---|---|
| Returns | Description |
| WorkspaceEdit |
属性
The number of affected resources of textual or resource changes.
方法
createFile(uri: Uri, options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: booleanmetadata?: WorkspaceEditEntryMetadata): void
Create a regular file.
| Parameter | Description |
|---|---|
| uri: Uri | Uri of the new file. |
| options?: {contents: Uint8Array | DataTransferFile, ignoreIfExists: boolean, overwrite: boolean} | Defines if an existing file should be overwritten or be
ignored. When |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
删除(uri: Uri, 范围: Range, 元数据?: WorkspaceEditEntryMetadata): 无
Delete the text at the given range.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| range: Range | A range. |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
删除文件(uri: Uri, 选项?: {如果不存在则忽略: 布尔值, 递归: 布尔值}, 元数据?: 工作区编辑条目元数据): 无
Delete a file or folder.
| Parameter | Description |
|---|---|
| uri: Uri | The uri of the file that is to be deleted. |
| options?: {ignoreIfNotExists: boolean, recursive: boolean} | |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
Get all text edits grouped by resource.
Get the text edits for a resource.
有(uri: Uri): 布尔值
Check if a text edit for a resource exists.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| Returns | Description |
| boolean |
|
插入(uri: Uri, 位置: Position, newText: 字符串, 元数据?: WorkspaceEditEntryMetadata): 无
Insert the given text at the given position.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| position: Position | A position. |
| newText: string | A string. |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
renameFile(oldUri: Uri, newUri: Uri, options?: {ignoreIfExists: boolean, overwrite: boolean}, metadata?: WorkspaceEditEntryMetadata): void
Rename a file or folder.
| Parameter | Description |
|---|---|
| oldUri: Uri | The existing file. |
| newUri: Uri | The new location. |
| options?: {ignoreIfExists: boolean, overwrite: boolean} | Defines if existing files should be overwritten or be ignored. When overwrite and ignoreIfExists are both set overwrite wins. |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
替换(uri: Uri, 范围: Range, 新文本: 字符串, 元数据?: WorkspaceEditEntryMetadata): 无
Replace the given range with given text for the given resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| range: Range | A range. |
| newText: string | A string. |
| metadata?: WorkspaceEditEntryMetadata | Optional metadata for the entry. |
| Returns | Description |
| void |
设置(uri:Uri,编辑:ReadonlyArray<.TextEdit | SnippetTextEdit>):void
Set (and replace) text edits or snippet edits for a resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| edits: ReadonlyArray<TextEdit | SnippetTextEdit> | An array of edits. |
| Returns | Description |
| void |
设置(uri: Uri, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]>): 无
Set (and replace) text edits or snippet edits with metadata for a resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| edits: ReadonlyArray<[TextEdit | SnippetTextEdit, WorkspaceEditEntryMetadata]> | An array of edits. |
| Returns | Description |
| void |
设置(uri: Uri, 编辑: 只读 NotebookEdit[]): 无返回值
Set (and replace) notebook edits for a resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| edits: readonly NotebookEdit[] | An array of edits. |
| Returns | Description |
| void |
设置(uri: Uri, edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]>): 无
Set (and replace) notebook edits with metadata for a resource.
| Parameter | Description |
|---|---|
| uri: Uri | A resource identifier. |
| edits: ReadonlyArray<[NotebookEdit, WorkspaceEditEntryMetadata]> | An array of edits. |
| Returns | Description |
| void |
工作区编辑条目元数据
工作区条目的附加数据进行编辑。支持为条目添加标签,并标记条目需要用户确认。编辑器将具有相同标签的编辑分组为树节点,例如所有标记为“字符串更改”的编辑将是一个树节点。
属性
A human-readable string which is rendered less prominent on the same line.
图标路径?: 图标路径
The icon path or ThemeIcon for the edit.
A human-readable string which is rendered prominent.
A flag which indicates that user confirmation is needed.
工作区编辑元数据
关于工作区编辑的附加数据。
属性
Signal to the editor that this edit is a refactoring.
工作区文件夹
一个工作区文件夹是编辑器打开的多个根目录中的一个。所有工作区文件夹都是平等的,这意味着没有活跃或主要工作区文件夹的概念。
属性
The ordinal number of this workspace folder.
The name of this workspace folder. Defaults to the basename of its uri-path
uri:Uri
The associated uri for this workspace folder.
Note: The Uri-type was intentionally chosen such that future releases of the editor can support
workspace folders that are not stored on the local disk, e.g. ftp://server/workspaces/foo.
工作区文件夹选择选项
配置工作区文件夹选择用户界面的选项。
属性
Set to true to keep the picker open when focus moves to another part of the editor or to another window.
This setting is ignored on iPad and is always false.
An optional string to show as placeholder in the input box to guide the user.
工作区文件夹更改事件
属性
添加:只读工作区文件夹[]
Added workspace folders.
移除:只读工作区文件夹[]
Removed workspace folders.
工作区符号提供者<T>
工作区符号提供者接口定义了扩展与符号搜索功能之间的合同。
方法
提供工作区符号(查询:字符串,令牌:取消令牌):提供者结果< T [] >
Project-wide search for a symbol matching the given query string.
The query-parameter should be interpreted in a relaxed way as the editor will apply its own highlighting
and scoring on the results. A good rule of thumb is to match case-insensitive and to simply check that the
characters of query appear in their order in a candidate symbol. Don't use prefix, substring, or similar
strict matching.
To improve performance implementors can implement resolveWorkspaceSymbol and then provide symbols with partial
location-objects, without a range defined. The editor will then call
resolveWorkspaceSymbol for selected symbols only, e.g. when opening a workspace symbol.
| Parameter | Description |
|---|---|
| query: string | A query string, can be the empty string in which case all symbols should be returned. |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T[]> | An array of document highlights or a thenable that resolves to such. The lack of a result can be
signaled by returning |
解决工作区符号(符号: T, 令牌: 取消令牌): 提供者结果<T>
Given a symbol fill in its location. This method is called whenever a symbol is selected in the UI. Providers can implement this method and return incomplete symbols from provideWorkspaceSymbols which often helps to improve performance.
| Parameter | Description |
|---|---|
| symbol: T | The symbol that is to be resolved. Guaranteed to be an instance of an object returned from an
earlier call to |
| token: CancellationToken | A cancellation token. |
| Returns | Description |
| ProviderResult<T> | The resolved symbol or a thenable that resolves to that. When no result is returned,
the given |
API 模式
这些是我们 VS Code API 中使用的一些常见模式。
承诺
VS Code API 通过承诺来表示异步操作。从扩展中,任何类型的承诺都可以被返回,比如 ES6、WinJS、A+ 等。
不依赖于特定的承诺库,通过API以Thenable-type表示。Thenable代表了通用的分母,即then方法。
在大多数情况下,使用承诺是可选的,当 VS Code 调用扩展时,它可以处理结果类型以及Thenable的结果类型的。当使用承诺是可选的时,API 通过返回-类型来表示这一点。or
provideNumber(): number | Thenable<number>
取消令牌
通常操作是在易失状态开始的,这种状态在操作完成之前可能会改变。例如,计算IntelliSense开始,用户继续输入,使该操作的结果变得过时。
暴露在这种行为的API将收到一个CancellationToken,你可以检查是否取消 (isCancellationRequested) 或在取消发生时得到通知 (onCancellationRequested)。取消令牌通常是函数调用的最后一个参数,是可选的。
一次性用品
VS Code API 使用 dispose 模式 来处理从 VS Code 中获取的资源。这适用于事件监听、命令、与用户界面的交互以及各种语言贡献。
例如,setStatusBarMessage(value: string) 函数返回一个Disposable,在调用dispose 时会再次移除消息。
事件
VS Code API中的事件作为函数暴露,您可以使用监听器函数调用这些函数进行订阅。订阅的调用返回一个Disposable,在 dispose 时会移除事件监听器。
var listener = function(event) {
console.log('It happened', event);
};
// start listening
var subscription = fsWatcher.onDidDelete(listener);
// do more stuff
subscription.dispose(); // stop listening
事件名称遵循on[Will|Did]VerbNoun?模式。名称表明事件将要发生(onWill)还是已经发生(onDid),发生了什么(verb),以及上下文(noun),除非从上下文中可以明显看出。
VS Code API 的一个示例是 window.onDidChangeActiveTextEditor,当活动文本编辑器 (名词) 发生 (onDid) 改变 (动词) 时触发。
严格空值
VS Code API 使用 undefined 和 null TypeScript 类型来支持 严格的空值检查。
认证命名空间。