diff --git a/extensions/typescript/src/features/completionItemProvider.ts b/extensions/typescript/src/features/completionItemProvider.ts index d5f4bd4477c..f65d27f5009 100644 --- a/extensions/typescript/src/features/completionItemProvider.ts +++ b/extensions/typescript/src/features/completionItemProvider.ts @@ -243,8 +243,7 @@ export default class TypeScriptCompletionItemProvider implements CompletionItemP const detail = details[0]; item.detail = Previewer.plain(detail.displayParts); - const tags = Previewer.tagsPlainPreview(detail.tags); - item.documentation = Previewer.plain(detail.documentation) + (tags ? '\n\n' + tags : ''); + item.documentation = Previewer.plainDocumentation(detail.documentation, detail.tags); if (detail && this.config.useCodeSnippetsOnMethodSuggest && (item.kind === CompletionItemKind.Function || item.kind === CompletionItemKind.Method)) { return this.isValidFunctionCompletionContext(filepath, item.position).then(shouldCompleteFunction => { diff --git a/extensions/typescript/src/features/previewer.ts b/extensions/typescript/src/features/previewer.ts index 80ca1c92617..d02ab69550b 100644 --- a/extensions/typescript/src/features/previewer.ts +++ b/extensions/typescript/src/features/previewer.ts @@ -26,7 +26,7 @@ export function tagsMarkdownPreview(tags: Proto.JSDocTagInfo[]): string { .join(' \n\n'); } -export function tagsPlainPreview(tags: Proto.JSDocTagInfo[]): string { +function tagsPlainPreview(tags: Proto.JSDocTagInfo[]): string { return (tags || []) .map(tag => { const label = `@${tag.name}`; @@ -35,5 +35,10 @@ export function tagsPlainPreview(tags: Proto.JSDocTagInfo[]): string { } return label + (tag.text.match(/\r\n|\n/g) ? '\n' + tag.text : ` — ${tag.text}`); }) - .join('\n'); + .join('\n\ngit'); +} + +export function plainDocumentation(documentation: Proto.SymbolDisplayPart[], tags: Proto.JSDocTagInfo[]): string { + const parts = [plain(documentation), tagsPlainPreview(tags)]; + return parts.filter(x => x).join('\n\n'); } \ No newline at end of file diff --git a/extensions/typescript/src/features/signatureHelpProvider.ts b/extensions/typescript/src/features/signatureHelpProvider.ts index dc7214da7f6..b8247e03154 100644 --- a/extensions/typescript/src/features/signatureHelpProvider.ts +++ b/extensions/typescript/src/features/signatureHelpProvider.ts @@ -61,10 +61,7 @@ export default class TypeScriptSignatureHelpProvider implements SignatureHelpPro } }); signature.label += Previewer.plain(item.suffixDisplayParts); - - const tags = Previewer.tagsPlainPreview(item.tags); - signature.documentation = Previewer.plain(item.documentation) + (tags ? '\n\n' + tags : ''); - + signature.documentation = Previewer.plainDocumentation(item.documentation, item.tags); result.signatures.push(signature); });