public static void Execute(AsyncPackage package) { ThreadHelper.ThrowIfNotOnUIThread(); if (ShieldVsExtensionPackage.Configuration is null) { return; } ShieldVsExtensionPackage.Configuration.IsEnabled = !ShieldVsExtensionPackage.Configuration.IsEnabled; ShieldVsExtensionPackage.UpdateExtensionEnabled(); }
public static void Execute(AsyncPackage package) { ThreadHelper.ThrowIfNotOnUIThread(); if (ShieldVsExtensionPackage.Configuration is null) { return; } //ToolWindowPane window = package.FindToolWindow(typeof(ConfigurationWindow), 0, true); //if (window?.Frame == null) //{ // throw new NotSupportedException("Cannot create tool window"); //} //IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame; //Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show()); //var optionsViewModel = new OptionsViewModel(dte, configuration); if (!(ServiceProvider.GlobalProvider.GetService(typeof(DTE)) is DTE2 dte)) { throw new ArgumentNullException(nameof(dte)); } var optionsViewModel = new ConfigurationViewModel(dte, ShieldVsExtensionPackage.Configuration); var optionsView = new ConfigurationWindowControl(optionsViewModel); var interop = new WindowInteropHelper(optionsView); interop.EnsureHandle(); interop.Owner = (IntPtr)dte.MainWindow.HWnd; optionsView.ShowDialog(); ShieldVsExtensionPackage.UpdateExtensionEnabled(); }