diff --git a/extensions/typescript/src/features/hoverProvider.ts b/extensions/typescript/src/features/hoverProvider.ts index 960d4964c42fcd164381d9ff70f643bd76fb15d8..9e6a8af4dc821ec475a7e85004577ca170c1bf4e 100644 --- a/extensions/typescript/src/features/hoverProvider.ts +++ b/extensions/typescript/src/features/hoverProvider.ts @@ -29,7 +29,7 @@ export default class TypeScriptHoverProvider implements HoverProvider { if (response && response.body) { const data = response.body; return new Hover( - [{ language: 'typescript', value: data.displayString }, data.documentation], + TypeScriptHoverProvider.getContents(data), new Range(data.start.line - 1, data.start.offset - 1, data.end.line - 1, data.end.offset - 1)); } return undefined; @@ -38,4 +38,15 @@ export default class TypeScriptHoverProvider implements HoverProvider { return null; }); } + + private static getContents(data: Proto.QuickInfoResponseBody) { + const tags: string[] = []; + for (const tag of data.tags || []) { + tags.push(`*@${tag.name}*` + (tag.text ? ` — ${tag.text}` : '')); + } + return [ + { language: 'typescript', value: data.displayString }, + data.documentation + (tags.length ? '\n\n' + tags.join(' \n') : '') + ]; + } } \ No newline at end of file