我正在开发视觉工作室代码的扩展程序。我的扩展程序有几个激活事件。那么在激活回调中我如何区分激活源?例如,如果工作空间包含特定文件夹或者给出了命令,则会激活扩展。在激活回调中,我想为不同的激活执行不同的初始化。是否有任何API可以获取此信息?
例:
在package.json
中,两个激活事件由
...
"activationEvents": [
"workspaceContains:foo",
"*"
],
...
在extension.ts
文件中,将定义相应的激活回调。
...
export function activate(context: ExtensionContext): any {
...
}
...
在上面的场景中,将在以下两个事件之一中调用activate()
:
foo
文件。我想要的是这样的:
export function activate(context: ExtensionContext): any {
if(/*activated by "*" event*/) {
Init1();
}
else if(/*activated by "workspaceContains" event*/) {
Init2();
}
}
这只是一个伪代码。但这就是重点。
答案 0 :(得分:0)
正如评论中所述,没有办法区分这两个激活事件。实际上,激活是通过匹配package.json中的一个模式来完成的。除了文档之外,没有迹象表明哪个模式实际匹配。这可能太精细了,因此我怀疑为此创建功能请求将有机会。