protected override async System.Threading.Tasks.Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { Instance = this; await base.InitializeAsync(cancellationToken, progress); await base.JoinableTaskFactory.SwitchToMainThreadAsync(); Telemetry.Client.TrackEvent("Package.Initialize", Telemetry.CreateProperties("VSVersion", GetVSVersion())); UIFactory.CreateAndRegister(this); AddCommandHandlers(); }
public static void CreateAndRegister(IServiceProvider serviceProvider) { Shell.ThreadHelper.ThrowIfNotOnUIThread(); IVsUIFactory factory = new UIFactory(serviceProvider); IVsRegisterUIFactories registry = (IVsRegisterUIFactories)serviceProvider.GetService(typeof(SVsUIFactory)); Assumes.Present(registry); ErrorHandler.ThrowOnFailure(registry.RegisterUIFactory(GuidList.UiFactory, factory)); }