首页 > 解决方案 > VsCode 任务事件不会触发

问题描述

我正在为 VsCode 编写扩展。我正在尝试获取有关任务事件的通知。但是,来自任务命名空间(onDidStartTask 和 onDidEndTask)的事件不会触发。这是我的代码:

tasks.onDidStartTask.apply(function(event: any) { 
    console.log(event);
});

我调试扩展并启动任务(构建),在 console.log 行上设置断点。

这个断点不会被击中。

有没有人对我可能做错了什么有任何建议?

标签: typescriptvisual-studio-codevscode-extensions

解决方案


要注册事件侦听器,您可以直接调用事件,无需apply()

tasks.onDidStartTask(function(event: any) { ... });

这样,log()呼叫就可以正常工作。输出不是很有帮助,但这是一个不同的问题(“为无法检查的对象省略了输出”)。

如果你想使用apply()(并不是真的有任何理由),你必须像这样使用它:

vscode.tasks.onDidStartTask.apply(undefined, [function(event: any) { ... }]);

推荐阅读