int IOleCommandTarget.QueryStatus(ref Guid pguidCmdGroup, uint cCmds, OLECMD[] prgCmds, IntPtr pCmdText) { OLECMDF cmdf = OLECMDF.OLECMDF_SUPPORTED; string label; if (TryParseBranchName(prgCmds[0].cmdID, out label)) { VsShellUtilities.SetOleCmdText(pCmdText, label); // SetOleCmdText(pCmdText, label); cmdf |= OLECMDF.OLECMDF_ENABLED; if (string.Equals(label, StatusBarService.BranchName, StringComparison.OrdinalIgnoreCase)) { cmdf |= OLECMDF.OLECMDF_LATCHED; } prgCmds[0].cmdf = (uint)(cmdf); return(VSConstants.S_OK); } else if (TryParseRepositoryCommand(prgCmds[0].cmdID, out label) || TryParseBranchCommand(prgCmds[0].cmdID, out label)) { VsShellUtilities.SetOleCmdText(pCmdText, label); //SetOleCmdText(pCmdText, label); cmdf |= OLECMDF.OLECMDF_ENABLED; prgCmds[0].cmdf = (uint)(cmdf); return(VSConstants.S_OK); } else { return((int)(Microsoft.VisualStudio.OLE.Interop.Constants.OLECMDERR_E_NOTSUPPORTED)); } //throw new NotImplementedException(); }
private static void UpdateMenuItemText(IntPtr pCmdText, string currentFilePath) { string newText = IsFileType(currentFilePath, RAZOR_PAGES_FILE_SUFFIX) ? "&Code Behind" : "&Razor File"; VsShellUtilities.SetOleCmdText(pCmdText, newText); }