コード例 #1
0
        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();
        }
コード例 #2
0
        private static void UpdateMenuItemText(IntPtr pCmdText, string currentFilePath)
        {
            string newText = IsFileType(currentFilePath, RAZOR_PAGES_FILE_SUFFIX) ? "&Code Behind" : "&Razor File";

            VsShellUtilities.SetOleCmdText(pCmdText, newText);
        }