diff --git a/src/vs/editor/contrib/suggest/media/suggest.css b/src/vs/editor/contrib/suggest/media/suggest.css index 60722918886..cfe8817c049 100644 --- a/src/vs/editor/contrib/suggest/media/suggest.css +++ b/src/vs/editor/contrib/suggest/media/suggest.css @@ -354,6 +354,11 @@ padding: 4px 0 12px 5px; } +.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap { + white-space: normal; +} + + .monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs { margin: 0; padding: 4px 5px; diff --git a/src/vs/editor/contrib/suggest/suggestWidgetDetails.ts b/src/vs/editor/contrib/suggest/suggestWidgetDetails.ts index 40a8737c4dd..fdbe3931c65 100644 --- a/src/vs/editor/contrib/suggest/suggestWidgetDetails.ts +++ b/src/vs/editor/contrib/suggest/suggestWidgetDetails.ts @@ -142,12 +142,16 @@ export class SuggestDetailsWidget { this.domNode.classList.remove('no-docs', 'no-type'); + let detailsLines = 0; // --- details + if (detail) { const cappedDetail = detail.length > 100000 ? `${detail.substr(0, 100000)}…` : detail; this._type.textContent = cappedDetail; this._type.title = cappedDetail; dom.show(this._type); + detailsLines = count(cappedDetail, '\n'); + this._type.classList.toggle('auto-wrap', detailsLines === 0); } else { dom.clearNode(this._type); this._type.title = ''; @@ -186,7 +190,7 @@ export class SuggestDetailsWidget { let heightInLines = 0; if (detail) { - heightInLines += 2 + count(detail, '\n'); + heightInLines += 2 + detailsLines; } if (documentation) { heightInLines += 5;