public int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { if (pguidCmdGroup == VSConstants.VSStd2K) { switch ((VSConstants.VSStd2KCmdID)nCmdID) { case VSConstants.VSStd2KCmdID.TYPECHAR: var ch = (char)(ushort)Marshal.GetObjectForNativeVariant(pvaIn); if (_curSession != null && !_curSession.IsDismissed) { if (_curSession.SelectedCompletionSet.SelectionStatus.IsSelected && IsCompletionChar(ch)) { _curSession.Commit(); } } switch (ch) { case '<': if (_curSession != null) { _curSession.Dismiss(); } int res = _oldTarget.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); if (ErrorHandler.Succeeded(res)) { _curSession = CompletionBroker.TriggerCompletion(_textView); if (_curSession != null) { _curSession.Dismissed += CurSessionDismissedOrCommitted; _curSession.Committed += CurSessionDismissedOrCommitted; } } return(res); } break; case VSConstants.VSStd2KCmdID.RETURN: case VSConstants.VSStd2KCmdID.TAB: if (_curSession != null && !_curSession.IsDismissed) { _curSession.Commit(); return(VSConstants.S_OK); } break; } } return(_oldTarget.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut)); }
private int InnerExec(ref Guid commandGroup, uint commandId, OLECMDEXECOPT executionOptions, IntPtr pvaIn, IntPtr pvaOut) { if (_next != null) { return(_next.Exec(ref commandGroup, commandId, (uint)executionOptions, pvaIn, pvaOut)); } return((int)OleConstants.OLECMDERR_E_NOTSUPPORTED); }
/// <inheritdoc/> int IOleCommandTarget.Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { IOleCommandTarget service = (IOleCommandTarget)GetService(typeof(IOleCommandTarget)); if (service != null) { return(service.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut)); } return((int)OleConstants.MSOCMDERR_E_NOTSUPPORTED); }
int Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(ref Guid cmdGroup, uint nCmdID, uint nCmdExecOpt, IntPtr pvaIn, IntPtr pvaOut) { Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget oleCommandTarget = (Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget)GetService(typeof(Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget)); if (oleCommandTarget != null) { if (cmdGroup == s_guidNanoDebugPackageCmdSet) { switch (nCmdID) { case _cmdidLaunchNanoDebug: return(LaunchNanoDebug(nCmdExecOpt, pvaIn, pvaOut)); default: Debug.Fail("Unknown command id"); return(Microsoft.VisualStudio.VSConstants.E_NOTIMPL); } } return(oleCommandTarget.Exec(cmdGroup, nCmdID, nCmdExecOpt, pvaIn, pvaOut)); } return(-2147221248); }