打开IDE或项目后,如何强制我的软件包立即加载?

时间:2019-07-12 09:55:36

标签: visual-studio vs-extensibility visual-studio-sdk

类似于下面的代码,类似于内置的“自定义工具窗口”代码模板。 要加载程序包,我必须找到ToolWindow按钮(命令)并按下它。当我打开一个文件夹时,不会加载此程序包。 但是,此扩展取决于某些服务(IVsFileChangeEx,.etc)提供的evnet,它们需要由AsyncPackage.GetServiceAsync加载。我该怎么办?

[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
[Guid(Guids.packageGuidStr)]
[ProvideMenuResource("Menus.ctmenu", 1)]
[ProvideToolWindow(typeof(ToolWindow))]
public sealed class ExuedPackage : AsyncPackage
{
    protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
    {
        await JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);

        "Init Package".Log();

        .... Get some services and store them ...
        .... Register callbacks to them ....

        await ToolWindowCommand.InitializeAsync(this);
    }
}

0 个答案:

没有答案