// private char GetTypeChar(IntPtr pvaIn) // { // return (char)(ushort)Marshal.GetObjectForNativeVariant(pvaIn); // } public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { bool handled = false; int hresult = VSConstants.S_OK; // 1. Pre-process if (pguidCmdGroup == VSConstants.GUID_VSStandardCommandSet97) { switch ((VSConstants.VSStd97CmdID)nCmdID) { case VSConstants.VSStd97CmdID.GotoDefn: handled = editorCommands.GoToDefinition(); break; } } if (!handled) { hresult = Next.Exec(pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); } if (ErrorHandler.Succeeded(hresult)) { if (pguidCmdGroup == VSConstants.GUID_VSStandardCommandSet97) { switch ((VSConstants.VSStd97CmdID)nCmdID) { } } } return(hresult); }
public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { bool handled = false; int hresult = VSConstants.S_OK; // 1. Pre-process if (pguidCmdGroup == VSConstants.GUID_VSStandardCommandSet97) { switch ((VSConstants.VSStd97CmdID)nCmdID) { case VSConstants.VSStd97CmdID.GotoDefn: handled = editorCommands.GoToDefinition(); break; } } if (!handled) { hresult = Next.Exec(pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); } if (ErrorHandler.Succeeded(hresult)) { if (pguidCmdGroup == VSConstants.VSStd2K) { switch ((VSConstants.VSStd2KCmdID)nCmdID) { case VSConstants.VSStd2KCmdID.TYPECHAR: var ch = GetTypeChar(pvaIn); if (ch == '|') { editorCommands.FormatTable(); } break; } } //TODO: uncomment this to add further command handlers // if (pguidCmdGroup == VSConstants.GUID_VSStandardCommandSet97) // { // switch ((VSConstants.VSStd97CmdID)nCmdID) // { // } // } } return(hresult); }