void IHelpService.AddContextAttribute(string name, string value, HelpKeywordType keywordType) { if (_ServiceProvider != null) { IVsUserContext userContext = GetUserContext(); if (userContext != null) { VSUSERCONTEXTATTRIBUTEUSAGE usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_LookupF1; switch (keywordType) { case HelpKeywordType.F1Keyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_LookupF1; break; case HelpKeywordType.GeneralKeyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Lookup; break; case HelpKeywordType.FilterKeyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Filter; break; } NativeMethods.ThrowOnFailure(userContext.AddAttribute(usage, name, value)); NotifyContextChange(userContext); } } }
public int Initialize(uint grfCodeWindowBehaviorFlags, VSUSERCONTEXTATTRIBUTEUSAGE usageAuxUserContext, string szNameAuxUserContext, string szValueAuxUserContext, uint initViewFlags, INITVIEW[] pInitView) { var vsCodeWindow = (IVsCodeWindowEx)_vsCodeWindow; return(vsCodeWindow.Initialize(grfCodeWindowBehaviorFlags, usageAuxUserContext, szNameAuxUserContext, szValueAuxUserContext, initViewFlags, pInitView)); }
public HelpContext2(IVsUserContext userContext) { int count; userContext.CountAttributes(null, 1, out count); for (int i = 0; i < count; i++) { string name, value; int priority; userContext.GetAttributePri(i, null, 1, out priority, out name, out value); VSUSERCONTEXTATTRIBUTEUSAGE[] usageArray = new VSUSERCONTEXTATTRIBUTEUSAGE[1]; userContext.GetAttrUsage(i, 1, usageArray); VSUSERCONTEXTATTRIBUTEUSAGE usage = usageArray[0]; HelpAttribute attr = new HelpAttribute(); attr.Name = name; attr.Value = value; attr.Priority = (VSUSERCONTEXTPRIORITY)priority; attr.Usage = usage; // name == "keyword" ? VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Lookup : VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Filter; this.Add(attr); } }
/// <devdoc> /// Adds a context attribute to the document. Context attributes are used /// to provide context-sensitive help to users. The designer host will /// automatically add context attributes from available help attributes /// on selected components and properties. This method allows you to /// further customize the context-sensitive help. /// </devdoc> void IHelpService.AddContextAttribute(string name, string value, HelpKeywordType keywordType) { if (provider == null) { return; } // First, get our context and update the attribute. // IVsUserContext cxt = GetUserContext(); if (cxt != null) { VSUSERCONTEXTATTRIBUTEUSAGE usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_LookupF1; switch (keywordType) { case HelpKeywordType.F1Keyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_LookupF1; break; case HelpKeywordType.GeneralKeyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Lookup; break; case HelpKeywordType.FilterKeyword: usage = VSUSERCONTEXTATTRIBUTEUSAGE.VSUC_Usage_Filter; break; } NativeMethods.ThrowOnFailure(cxt.AddAttribute(usage, name, value)); // Then notify the shell that it has been updated. // NotifyContextChange(cxt); } }
int IVsCodeWindowEx.Initialize(uint grfCodeWindowBehaviorFlags, VSUSERCONTEXTATTRIBUTEUSAGE usageAuxUserContext, string szNameAuxUserContext, string szValueAuxUserContext, uint InitViewFlags, INITVIEW[] pInitView) => ((IVsCodeWindowEx)_editorWindow).Initialize(grfCodeWindowBehaviorFlags, usageAuxUserContext, szNameAuxUserContext, szValueAuxUserContext, InitViewFlags, pInitView);
public int Initialize(uint grfCodeWindowBehaviorFlags, VSUSERCONTEXTATTRIBUTEUSAGE usageAuxUserContext, string szNameAuxUserContext, string szValueAuxUserContext, uint initViewFlags, INITVIEW[] pInitView) { var vsCodeWindow = (IVsCodeWindowEx) _vsCodeWindow; return vsCodeWindow.Initialize(grfCodeWindowBehaviorFlags, usageAuxUserContext, szNameAuxUserContext, szValueAuxUserContext, initViewFlags, pInitView); }