VSIX 项目中后台线程的模拟?

Analogue of background thread in VSIX project?

基本上,我正在尝试执行一些任务 ,而 Visual Studio 实例是 运行。

我还没有在 Visual Studio SDK 参考中找到任何类似于后台线程或 IsRunning 或类似东西的东西。到目前为止,我所能做的就是响应非常具体的事件,例如视图更改或光标移动。

我什至不明白 Visual Studio 实例完成加载时会触发什么事件。

我肯定在这里遗漏了一些非常重要的东西?什么管理 Visual Studio 实例的生命周期?

所以没有什么能阻止您启动后台线程并在那里工作。各种组件一直都在这样做。您可以通过一些方式 register your package to load in various scenarios,并且您始终可以从那里发起话题。

当然要小心这些 - 如果每个人都这样做 "I'll run a background thread once VS loads",您的 CPU 核心将会非常非常繁忙! VS 中有一个较旧的概念,称为 "idle loop",只要 UI 线程没有要发送的消息,就可以将一些代码注册到 运行,内部笑话是空闲循环永远不会空闲。