如何 Bootstrap VSIX VS2015 扩展

How to Bootstrap an VSIX VS2015 Extension

我的分机只有在我点击一个按钮时才会被调用。只有 ctor CommandHandlerPackage 被调用并且 CommandMenu 项目被注册。

但我想 DefaultDisable 按钮,并且只有在我打开正确的解决方案时才启用它们。为此,我需要从 IVsSolutionEvents 注册一些事件,但我不能从一开始就这样做,因为扩展只有在我与之交互时才会被初始化。

所以我的问题是对于这种情况是否有类似 bootstrap 的东西?

您可以像这样将 ProvideAutoLoad 属性添加到您的包 class:

[ProvideAutoLoad(UIContextGuids80.SolutionExists)]
public sealed class VSPackage : Package
{
  ...
}

当文件或项目打开时,这将自动 运行 包 class 的 Initialize 方法。