我的矿山和另一个扩展已经合并,对于现在不建议使用的扩展,我们将进行检查,并确保向用户充分告知合并情况。为了使事情变得显而易见,我想做的一件事是在激活已弃用的扩展程序时出现警告消息。
在我添加的package.json
中
"activationEvents": [
"onLanguage:ada",
"onLanguage:adc",
"onLanguage:ali",
"onLanguage:gpr"
],
"main": "./out/extension.js",
并有一个extension.ts
,其中包含以下内容:
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
vscode.window.showWarningMessage('Hello World!');
}
export function deactivate() {}
但是没有警告消息出现。我尝试用控制台日志记录语句替换它,当然,我在调试主机中得到了日志消息,因此它肯定正在运行activate()
函数。因此,我转回尝试显示警告,放下一些断点,然后运行它。它跳过了警告消息功能。因此,然后我将控制台日志和警告消息都放在函数中,为两者都设置断点,然后运行它。它使控制台日志正常,然后断点“移动”,跳过警告消息,并完成了功能。
我根本不太了解javascript / typescript,所以这对我来说是完全奇怪的行为。我知道吊装会导致变量实际上在其写入位置的不同位置进行声明,但是我知道类似的函数执行规则。看来,无论我做什么,即使我认为应该应该,它也不会达到警告消息功能。