public override string GetTextRepresentation(VSTREETEXTOPTIONS options) { FunctionScopeNode funcScope = ScopeNode as FunctionScopeNode; if (funcScope != null) { StringBuilder sb = new StringBuilder(); GetFunctionDescription(funcScope.Definition, (text, kind, arg) => { sb.Append(text); }); return(sb.ToString()); } return(Name); }
public override void FillDescription(_VSOBJDESCOPTIONS flags, IVsObjectBrowserDescription3 description) { description.ClearDescriptionText(); FunctionScopeNode funcScope = ScopeNode as FunctionScopeNode; if (funcScope != null) { description.AddDescriptionText3("def ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null); var def = funcScope.Definition; GetFunctionDescription(def, (text, kind, arg) => { description.AddDescriptionText3(text, kind, arg); }); description.AddDescriptionText3(null, VSOBDESCRIPTIONSECTION.OBDS_ENDDECL, null); if (def.Body.Documentation != null) { description.AddDescriptionText3(" " + def.Body.Documentation, VSOBDESCRIPTIONSECTION.OBDS_MISC, null); } } else { var classScope = ScopeNode as ClassScopeNode; if (classScope != null) { FillClassDescription(description, classScope); } else { var assign = ScopeNode as AssignmentScopeNode; if (assign != null) { description.AddDescriptionText3("field ", VSOBDESCRIPTIONSECTION.OBDS_MISC, null); description.AddDescriptionText3(assign.Name, VSOBDESCRIPTIONSECTION.OBDS_NAME, null); description.AddDescriptionText3("\n", VSOBDESCRIPTIONSECTION.OBDS_MISC, null); description.AddDescriptionText3(null, VSOBDESCRIPTIONSECTION.OBDS_ENDDECL, null); } } } }