/// <summary> /// make sure no command bars exist with the specified name. /// </summary> /// <param name="InCmdBarName"></param> public void AssureNotExists(string InCmdBarName) { Microsoft.VisualStudio.CommandBars.CommandBar cmdbar = null; try { int cx = 0; bool found = false; foreach (Microsoft.VisualStudio.CommandBars.CommandBar cb in mCmdBars) { cx += 1; if (cb.Name == InCmdBarName) { found = true; break; } } if (found == true) { cmdbar = mCmdBars[InCmdBarName]; } } catch (Exception excp) { cmdbar = null; } if (cmdbar != null) { cmdbar.Delete(); } }
// ------------------------ FindSubCommandBar ----------------------- public DTE_CommandBar FindSubCommandBar(string InName) { // the popup is a child menu on the CommandBar menu. Microsoft.VisualStudio.CommandBars.CommandBarControl toolsControl = null; toolsControl = mCmdBar.Controls[InName]; // cast to a CommandBar Microsoft.VisualStudio.CommandBars.CommandBar subCmdBar = null; try { subCmdBar = (Microsoft.VisualStudio.CommandBars.CommandBar)toolsControl; } catch (Exception) { subCmdBar = null; } if (subCmdBar == null) { return(null); } else { return(new DTE_CommandBar(mMain, subCmdBar)); } }
// --------------------- DTE_CommandBar ----------------------------- public DTE_CommandBar( DTE_Main InMain, Microsoft.VisualStudio.CommandBars.CommandBar InCmdBar) { mMain = InMain; mCmdBar = InCmdBar; }
public DTE_CommandBar AddCommandBar() { Microsoft.VisualStudio.CommandBars.CommandBar cmdbar = null; DTE_CommandBar bar = new DTE_CommandBar(mMain, cmdbar); return(bar); // myPermanentCommandBar1 = // (Microsoft.VisualStudio.CommandBars.CommandBar) // InMain.dte2.Commands.AddCommandBar( // MY_PERMANENT_COMMANDBAR_POPUP1_NAME, // EnvDTE.vsCommandBarType.vsCommandBarTypeMenu, // toolsCmdBar.cmdbar, toolsCmdBar.cmdbar.Controls.Count + 1); // myPermanentCommandBar1.Enabled = true; }
// ---------------------- AddCommandBar ----------------------------- public DTE_CommandBar AddCommandBar( string InBarName) { Microsoft.VisualStudio.CommandBars.CommandBar envBar = null; DTE_CommandBar addBar = null; envBar = (Microsoft.VisualStudio.CommandBars.CommandBar) mMain.dte2.Commands.AddCommandBar( InBarName, EnvDTE.vsCommandBarType.vsCommandBarTypeMenu, this.cmdbar, this.cmdbar.Controls.Count + 1); envBar.Enabled = true; addBar = new DTE_CommandBar(mMain, envBar); return(addBar); }
public static void ShowContextMenu(DTE2 dte, string commandBarName, Point point) { if (dte == null) { throw new ArgumentNullException("dte"); } if (commandBarName == null) { throw new ArgumentNullException("commandBarName"); } Commands2 commands = (Commands2)dte.Commands; Microsoft.VisualStudio.CommandBars.CommandBars commandBars = (Microsoft.VisualStudio.CommandBars.CommandBars)dte.CommandBars; Microsoft.VisualStudio.CommandBars.CommandBar commandBar = commandBars[commandBarName]; commandBar.ShowPopup(point.X, point.Y); }
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; //SET THE MEMBER VARIABLES //_debuggerEvents = _applicationObject.Events.DebuggerEvents; //_debuggerEvents.OnEnterBreakMode += new _dispDebuggerEvents_OnEnterBreakModeEventHandler(BreakHandler); //var watchWindow = _applicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindWatch); _objCommandEvents = _applicationObject.Events.CommandEvents; _objCommandEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(BeforeExecute); if(connectMode == ext_ConnectMode.ext_cm_UISetup) { object []contextGUIDS = new object[] { }; Commands2 commands = (Commands2)_applicationObject.Commands; string toolsMenuName = "Tools"; Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["MenuBar"]; ar: CommandBarControl toolsControl = menuBarCommandBar.Controls[toolsMenuName]; CommandBarPopup toolsPopup = (CommandBarPopup)toolsControl; try { Command command = commands.AddNamedCommand2(_addInInstance, "AddinMultiLineWatch", "AddinMultiLineWatch", "Executes the command for AddinMultiLineWatch", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton); if((command != null) && (toolsPopup != null)) { command.AddControl(toolsPopup.CommandBar, 1); } } catch(System.ArgumentException) { } } }