diff --git a/news/2 Fixes/8006.md b/news/2 Fixes/8006.md new file mode 100644 index 000000000000..8c880cc2450e --- /dev/null +++ b/news/2 Fixes/8006.md @@ -0,0 +1 @@ +Signature help is overflowing out of the signature help widget on the Notebook Editor. diff --git a/package-lock.json b/package-lock.json index 5abaca6979da..25e961603517 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13329,9 +13329,9 @@ "dev": true }, "monaco-editor": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.16.2.tgz", - "integrity": "sha512-NtGrFzf54jADe7qsWh3lazhS7Kj0XHkJUGBq9fA/Jbwc+sgVcyfsYF6z2AQ7hPqDC+JmdOt/OwFjBnRwqXtx6w==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.18.1.tgz", + "integrity": "sha512-fmL+RFZ2Hrezy+X/5ZczQW51LUmvzfcqOurnkCIRFTyjdVjzR7JvENzI6+VKBJzJdPh6EYL4RoWl92b2Hrk9fw==", "dev": true }, "monaco-editor-textmate": { diff --git a/package.json b/package.json index f7b874406d61..6803d0f35d7d 100644 --- a/package.json +++ b/package.json @@ -2856,7 +2856,7 @@ "mocha": "^6.1.4", "mocha-junit-reporter": "^1.17.0", "mocha-multi-reporters": "^1.1.7", - "monaco-editor": "0.16.2", + "monaco-editor": "0.18.1", "monaco-editor-webpack-plugin": "^1.7.0", "nock": "^10.0.6", "node-has-native-dependencies": "^1.0.2", diff --git a/src/datascience-ui/interactive-common/intellisenseProvider.ts b/src/datascience-ui/interactive-common/intellisenseProvider.ts index f3eb06bcf8c7..bd1dd23a8a14 100644 --- a/src/datascience-ui/interactive-common/intellisenseProvider.ts +++ b/src/datascience-ui/interactive-common/intellisenseProvider.ts @@ -3,8 +3,10 @@ 'use strict'; import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api'; import * as uuid from 'uuid/v4'; + import { IDisposable } from '../../client/common/types'; import { createDeferred, Deferred } from '../../client/common/utils/async'; +import { noop } from '../../client/common/utils/misc'; import { IInteractiveWindowMapping, InteractiveWindowMessages, @@ -25,7 +27,7 @@ export class IntellisenseProvider implements monacoEditor.languages.CompletionIt public readonly signatureHelpRetriggerCharacters?: ReadonlyArray = [')']; private completionRequests: Map> = new Map>(); private hoverRequests: Map> = new Map>(); - private signatureHelpRequests: Map> = new Map>(); + private signatureHelpRequests: Map> = new Map>(); private registerDisposables: monacoEditor.IDisposable[] = []; constructor(private postOffice: PostOffice, private getCellId: (modelId: string) => string) { // Register a completion provider @@ -79,10 +81,10 @@ export class IntellisenseProvider implements monacoEditor.languages.CompletionIt model: monacoEditor.editor.ITextModel, position: monacoEditor.Position, token: monacoEditor.CancellationToken, - context: monacoEditor.languages.SignatureHelpContext): monacoEditor.languages.ProviderResult { + context: monacoEditor.languages.SignatureHelpContext): monacoEditor.languages.ProviderResult { // Emit a new request const requestId = uuid(); - const promise = createDeferred(); + const promise = createDeferred(); const cancelDisposable = token.onCancellationRequested(() => { promise.resolve(); @@ -167,7 +169,10 @@ export class IntellisenseProvider implements monacoEditor.languages.CompletionIt // Resolve our waiting promise if we have one const waiting = this.signatureHelpRequests.get(response.requestId); if (waiting) { - waiting.promise.resolve(response.signatureHelp); + waiting.promise.resolve({ + value: response.signatureHelp, + dispose: noop + }); this.signatureHelpRequests.delete(response.requestId); } } diff --git a/src/datascience-ui/react-common/monacoEditor.css b/src/datascience-ui/react-common/monacoEditor.css index 3803e4fd9a0d..3620b9cf97dc 100644 --- a/src/datascience-ui/react-common/monacoEditor.css +++ b/src/datascience-ui/react-common/monacoEditor.css @@ -126,3 +126,7 @@ border-right-style: solid; border-right-width: 1px; } + +.monaco-editor .parameter-hints-widget > .wrapper { + overflow: hidden; +} \ No newline at end of file