/// <summary> /// This is overridden to handle command execution for the node /// </summary> /// <param name="cmdGroup">Unique identifier of the command group</param> /// <param name="cmd">The command to be executed.</param> /// <param name="nCmdexecopt">Values describe how the object should /// execute the command.</param> /// <param name="pvaIn">Pointer to a <c>VARIANTARG</c> structure /// containing input arguments. Can be NULL</param> /// <param name="pvaOut"><c>VARIANTARG</c> structure to receive command /// output. It can be null.</param> /// <returns>If the method succeeds, it returns <c>S_OK</c>. If it /// fails, it returns an error code.</returns> protected override int ExecCommandOnNode(Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread(); // Handle adding package references ourselves as Visual Studio doesn't currently support them in // third-party project systems. if (cmdGroup == GuidList.guidNuGetPackageManagerCmdSet && cmd == PkgCmdIDList.ManageNuGetPackages) { var dlg = new NuGetPackageManagerDlg(this.ProjectMgr.BuildProject); dlg.ShowModalDialog(); return(VSConstants.S_OK); } // Open the Project Properties window when double-clicked or Properties is selected if ((cmdGroup == VsMenus.guidStandardCommandSet97 && (VsCommands)cmd == VsCommands.PropSheetOrProperties) || (cmdGroup == VsMenus.guidVSUISet && (WindowCommandIds)cmd == WindowCommandIds.UIHWCMDID_DoubleClick)) { IntPtr ip = (IntPtr)(-1); ((IVsProject2)this.ProjectMgr).ReopenItem(VSConstants.VSITEMID_ROOT, VSConstants.GUID_ProjectDesignerEditor, null, Guid.Empty, ip, out _); return(VSConstants.S_OK); } return(base.ExecCommandOnNode(cmdGroup, cmd, nCmdexecopt, pvaIn, pvaOut)); }
/// <inheritdoc /> protected override int ExecCommandOnNode(Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { #pragma warning disable VSTHRD010 if (cmdGroup == GuidList.guidSandcastleBuilderPackageCmdSet) { switch (cmd) { case PkgCmdIDList.OpenInStandaloneGUI: this.OpenInStandaloneGui(); return(VSConstants.S_OK); case PkgCmdIDList.ViewBuildLog: this.OpenBuildLogToolWindow(true); return(VSConstants.S_OK); default: break; } } // Handle adding package references ourselves as Visual Studio doesn't currently support them in // third-party project systems. if (cmdGroup == GuidList.guidNuGetPackageManagerCmdSet && cmd == PkgCmdIDList.ManageNuGetPackages) { var dlg = new NuGetPackageManagerDlg(this.BuildProject); dlg.ShowModalDialog(); return(VSConstants.S_OK); } #pragma warning restore VSTHRD010 return(base.ExecCommandOnNode(cmdGroup, cmd, nCmdexecopt, pvaIn, pvaOut)); }
/// <inheritdoc /> protected override int ExecCommandOnNode(Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { // Handle adding package references ourselves as Visual Studio doesn't currently support them in // third-party project systems. if (cmdGroup == GuidList.guidNuGetPackageManagerCmdSet && cmd == PkgCmdIDList.ManageNuGetPackages) { var dlg = new NuGetPackageManagerDlg(this.ProjectMgr.BuildProject); dlg.ShowModalDialog(); return(VSConstants.S_OK); } return(base.ExecCommandOnNode(cmdGroup, cmd, nCmdexecopt, pvaIn, pvaOut)); }