本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

激活事件

激活事件 是你在 激活事件领域package.json 扩展程序清单。当 激活事件 发生时,您的扩展程序将被激活。以下是所有可用的 激活事件 列表:

我们还提供了所有字段的参考package.json 扩展清单.

关于语言

此激活事件会在打开解析为特定语言的文件时发出,感兴趣的扩展将在此时被激活。

"激活事件": [
    "onLanguage:python"
]

这个关于语言 事件接受一个 语言识别器 值。

可以使用单独的多个语言进行声明关于语言条目在激活事件数组。

"激活事件"
    "onLanguage:json"
    "onLanguage:markdown"
    "onLanguage:typescript"
]

注意:从 VS Code 1.74.0 版本开始,由您的扩展贡献的语言不再需要相应的关于语言激活事件声明,以便您的扩展被激活。

此外,如果您的扩展需要在使用任何语言之前激活,您可以使用通用的关于语言激活事件以确保这一点:

"激活事件": [
    "onLanguage"
]

注意:最佳实践是在用户需要您的扩展时才激活。如果您的扩展适用于一组语言,让用户列出这组语言比在所有语言上激活更好。

在命令

此激活事件会在调用命令时发出,任何感兴趣的扩展将会被激活:

"激活事件": [
    "onCommand:extension.sayHello"
]

注意:从 VS Code 1.74.0 版本开始,您的扩展提供的命令不需要对应的在命令激活事件声明,以便您的扩展被激活。

在调试时

此激活事件会在启动调试会话之前发出,感兴趣的扩展将在调试会话开始前激活:

"激活事件": [
    "onDebug"
]

这些是四个更细致的在调试时激活事件:

onDebugAdapterProtocolTracker

onDebugAdapterProtocolTracker每当将特定类型的调试会话启动,并且可能需要调试协议跟踪器时,就会发出此信号。

onDebugDynamicConfigurations

这个激活事件在...之前发出提供调试配置方法调试配置提供者当用户要求提供动态调试配置时(例如,通过UI中的“选择并开始调试”命令),将被调用来提供动态调试配置。

此激活事件的存在被用作一个信号,表明该扩展提供了动态调试配置。

在调试初始配置

这个激活事件在...之前发出提供调试配置方法调试配置提供者被要求提供初步调试配置,例如每当一个launch.json需要创建。

onDebugResolve

onDebugResolve:类型在...之前被触发解析调试配置方法调试配置提供者调用了指定类型的函数。

经验法则: 如果激活调试扩展是轻量级的,请使用在调试时如果它是 heavyweight,请使用在调试初始配置和/或onDebugResolve取决于调试配置提供者实现相应的方法提供调试配置和/或解析调试配置。参见使用DebugConfigurationProvider以获取这些方法的更多详细信息。

工作区包含

工作区包含:路径将被发出,并且每当打开一个文件夹且该文件夹至少包含一个符合通配符模式的文件时,相关的扩展将被激活。

"激活事件": [
    "工作区包含:**/.editorconfig"
]

在文件系统上

在文件系统:方案 会发出,并且当读取特定 方案 的文件或文件夹时,相关的扩展将会被激活。这通常是 文件-scheme,但有了自定义文件系统提供者,更多的-schemes 就出现了,例如文件传输协议安全外壳协议输入:.

"激活事件": [
    "onFileSystem:sftp"
]

在查看

此激活事件会在 VS Code 侧边栏中展开指定 id 的视图时发出,任何感兴趣的扩展都会对此事件作出响应。内置视图不会发出激活事件。

下面的激活事件将在任何带有节点依赖id 可见:

"激活事件": [
    "视图:节点依赖"
]

注意:从 VS Code 1.74.0 版本开始,由您的扩展贡献的视图不再需要相应的在查看激活事件声明,以便您的扩展被激活。

在Uri上

此激活事件会在打开该扩展的系统范围内的 Uri 时发出,任何对此扩展感兴趣的扩展将会被激活。Uri 方案固定为以下之一Visual Studio Codevscode-insiders. Uri 权限必须是扩展的标识符。其余的 Uri 是任意的。

"激活事件": [
    "onUri"
]

如果vscode.git扩展定义在Uri上作为激活事件,当以下任何URI打开时将被激活:

  • vscode://vscode.git/init
  • vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git
  • vscode-insiders://vscode.git/init(适用于 VS Code Insiders)

在网页视图面板

此激活事件会在 VS Code 需要恢复一个 webview 时发出,且感兴趣的扩展将被激活视图类型输入:.

例如,声明在网页视图面板下面:

"激活事件": [
    "在网页视图面板:猫编程"
]

将导致在 VS Code 需要恢复 viewType 时激活扩展:猫编程视图类型在调用时设置Windows.创建网页视图面板您将需要另一个激活事件(例如,onCommand)来首次激活您的扩展并创建网页视图。

自定义编辑器

此激活事件会在 VS Code 需要创建一个 自定义编辑器 时发出,感兴趣的扩展将会被激活视图类型输入:.

例如,声明自定义编辑器下面:

"激活事件": [
    "onCustomEditor:catCustoms.pawDraw"
]

将导致在 VS Code 需要恢复自定义编辑器时激活扩展,视图类型:猫海关.爪绘视图类型在 中设置自定义编辑器 贡献点 并绑定到一个提供者 注册自定义编辑器提供程序输入:.

注意:从 VS Code 1.74.0 版本开始,由您的扩展贡献的自定义编辑器不再需要相应的自定义编辑器激活事件声明,以便您的扩展被激活。

在认证请求

此激活事件会在扩展请求认证会话时发出,并且任何感兴趣的扩展将会被激活(通过认证.getSession()API) 与匹配提供者ID输入:.

例如,声明在认证请求下面:

"激活事件":[
    "onAuthenticationRequest:github"
]

将导致在 VS Code 需要检索时激活扩展认证会话类型github输入:.

注意:从 VS Code 1.74.0 版本开始,您的扩展提供的身份验证提供程序不再需要对应的在认证请求激活事件声明,以便您的扩展被激活。

在启动完成时

此激活事件将被发出,感兴趣的扩展将在 VS Code 启动后 一段时间内激活。这类似于输入:*激活事件,但不会减慢 VS Code 启动速度。目前,此事件在所有输入:*已激活的扩展已完成激活。

"激活事件": [
    "onStartupFinished"
]

任务类型

onTaskType:类型每当需要列出或解决某类任务时,就会发出此事件。

"激活事件": [
    "npm 任务类型"
]

注意:从 VS Code 1.76.0 版本开始,由您的扩展提供的任务不需要对应的任务类型激活事件声明,以便您的扩展被激活。

在编辑会话

onEditSession:方案当使用给定的方案访问编辑会话时发出。

"激活事件": [
    "编辑会话:文件"
]

搜索中

onSearch:方案当使用给定的方案在文件夹中开始搜索时发出。

"激活事件": [
    "onSearch:文件"
]

打开外部链接

每当打开一个外部URI(如http或https链接)时都会发出激活事件。

"激活事件": [
    "打开外部uri时"
]

在笔记本上

在笔记本上:类型当指定的笔记本文档类型被打开时发出。

"激活事件":[
    "onNotebook:jupyter-notebook",
    "onNotebook:interactive"
]

在渲染器

在渲染器:id当使用笔记本输出渲染器时发出。

"激活事件": [
    "onRenderer:ms-toolsai.jupyter-renderers"
]

在终端

在终端:外壳类型当打开具有指定外壳类型的特定终端时发出。

"激活事件": [
  "在终端上:bash"
]

在终端配置文件上

在终端配置文件:id当启动特定终端配置文件时发出。

"激活事件": [
    "在终端配置文件:终端测试.终端配置文件"
]

关于Shell终端集成

在Shell终端集成:壳类型当启用终端的 shell 集成时,会发出此信号。

"激活事件": [
    "在终端 shell 集成:bash"
]

在走查

在走查中: id当打开指定的演示时发出。

"激活事件": [
    "在引导中:nodejs欢迎"
]

关于问题报告者打开

此激活事件在问题报告者打开时发出(例如,通过使用帮助:报告问题)。

"激活事件": [
    "onIssueReporterOpened"
]

聊天参与者

当指定的聊天参与者被调用时发出激活事件。

"激活事件"
    "onChat Participant:my-chat-participant"
]

关于语言模型工具

当指定的语言模型工具被调用时发出的激活事件。

"激活事件": [
    "onLanguageModelTool:my-language-model-tool"
]

启动

这个输入:*激活事件会在 VS Code 启动时发出,感兴趣的扩展将被激活。

注意: 为了确保用户体验,请仅在您的扩展中使用此激活事件,当在您的使用案例中没有其他激活事件组合有效时。

"激活事件": [
    "*"
]

注意: 扩展可以监听多个激活事件,这比监听"*输入:.

注意: 扩展 必须 导出一个 激活() 从其主模块加载函数,并且当任何指定的激活事件发出时,它将仅被VS Code调用一次。此外,一个扩展应该 导出一个停用() 从其主模块导出函数以在 VS Code 关闭时执行清理任务。扩展必须停用()如果清理过程是异步的。扩展可能会返回未定义停用()如果清理操作是同步进行的。