@codingame/monaco-vscode-api 2.2.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -3
- package/api.js +8 -10
- package/contributions.js +3 -3
- package/debugProtocol.d.ts +143 -51
- package/extensions.d.ts +9 -5
- package/external/@xterm/xterm/typings/xterm.d.ts +2 -2
- package/missing-services.js +48 -13
- package/monaco.js +30 -14
- package/package.json +8 -8
- package/service-override/tools/editor.js +31 -8
- package/service-override/tools/views.d.ts +8 -8
- package/service-override/tools/views.js +13 -14
- package/services.d.ts +3 -2
- package/services.js +5 -3
- package/vscode/src/vs/base/browser/browser.js +2 -66
- package/vscode/src/vs/base/browser/dom.js +10 -22
- package/vscode/src/vs/base/browser/markdownRenderer.js +13 -5
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +10 -1
- package/vscode/src/vs/base/browser/mouseEvent.js +9 -3
- package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
- package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
- package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
- package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.d.ts +81 -0
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.d.ts +160 -0
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
- package/vscode/src/vs/base/common/actions.js +1 -1
- package/vscode/src/vs/base/common/assert.js +1 -1
- package/vscode/src/vs/base/common/async.js +11 -7
- package/vscode/src/vs/base/common/codicons.d.ts +4 -0
- package/vscode/src/vs/base/common/codicons.js +4 -0
- package/vscode/src/vs/base/common/date.js +55 -1
- package/vscode/src/vs/base/common/event.js +5 -3
- package/vscode/src/vs/base/common/filters.js +1 -1
- package/vscode/src/vs/base/common/hotReload.js +5 -4
- package/vscode/src/vs/base/common/network.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -35
- package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
- package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
- package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
- package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
- package/vscode/src/vs/base/common/prefixTree.js +56 -22
- package/vscode/src/vs/base/common/product.d.ts +1 -1
- package/vscode/src/vs/base/common/scrollable.d.ts +68 -1
- package/vscode/src/vs/base/common/strings.js +9 -1
- package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +15 -8
- package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
- package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
- package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
- package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
- package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
- package/vscode/src/vs/editor/browser/view.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
- package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
- package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
- package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
- package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
- package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
- package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
- package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
- package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
- package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
- package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
- package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
- package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
- package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +43 -35
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +13 -12
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
- package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
- package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
- package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
- package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
- package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
- package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
- package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
- package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
- package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
- package/vscode/src/vs/editor/common/languageSelector.js +12 -1
- package/vscode/src/vs/editor/common/languages.d.ts +28 -1
- package/vscode/src/vs/editor/common/languages.js +6 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
- package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
- package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
- package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
- package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
- package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
- package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
- package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
- package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +26 -16
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
- package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
- package/vscode/src/vs/editor/editor.api.d.ts +146 -85
- package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
- package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +9 -9
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
- package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
- package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
- package/vscode/src/vs/platform/actions/common/actions.js +11 -0
- package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
- package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
- package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
- package/vscode/src/vs/platform/product/common/product.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
- package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
- package/vscode/src/vs/platform/request/common/request.js +111 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
- package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
- package/vscode/src/vs/platform/window/common/window.js +4 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
- package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
- package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
- package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
- package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
- package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
- package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
- package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +14 -5
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
- package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
- package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
- package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
- package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/composite.js +1 -1
- package/vscode/src/vs/workbench/browser/editor.js +11 -1
- package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
- package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
- package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
- package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
- package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
- package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
- package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -29
- package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
- package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
- package/vscode/src/vs/workbench/common/configuration.js +146 -43
- package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
- package/vscode/src/vs/workbench/common/contributions.js +136 -20
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
- package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
- package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
- package/vscode/src/vs/workbench/common/theme.js +11 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
- package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
- package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
- package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +21 -19
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +24 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +26 -25
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
- package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
- package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
- package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
- package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
- package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
- package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
- package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
- package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
- package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
- package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
- package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
- package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
- package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
- package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
- package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
- package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
- package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
- package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
- package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
- package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
- package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
- package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
- package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
- package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
- package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
- package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
- package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
- package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
- package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
- package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
- package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { Registry } from '../../platform/registry/common/platform.js';
|
|
2
2
|
import { localizeWithPath } from '../../nls.js';
|
|
3
|
-
import { Extensions as Extensions$
|
|
4
|
-
import { isMacintosh, isWeb,
|
|
5
|
-
import {
|
|
3
|
+
import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
|
|
4
|
+
import { isMacintosh, isWeb, isWindows, isLinux } from '../../base/common/platform.js';
|
|
5
|
+
import { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, workbenchConfigurationNodeBase, problemsConfigurationNodeBase, Extensions } from '../common/configuration.js';
|
|
6
6
|
import { isStandalone } from '../../base/browser/browser.js';
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import { registerWorkbenchContribution2 } from '../common/contributions.js';
|
|
8
|
+
import { defaultWindowTitle, defaultWindowTitleSeparator } from './parts/titlebar/windowTitle.js';
|
|
9
|
+
const registry = ( Registry.as(Extensions$1.Configuration));
|
|
9
10
|
(function registerConfiguration() {
|
|
10
|
-
(
|
|
11
|
+
registerWorkbenchContribution2(ConfigurationMigrationWorkbenchContribution.ID, ConfigurationMigrationWorkbenchContribution, 4 );
|
|
12
|
+
registerWorkbenchContribution2(DynamicWorkbenchSecurityConfiguration.ID, DynamicWorkbenchSecurityConfiguration, 3 );
|
|
11
13
|
registry.registerConfiguration({
|
|
12
14
|
...workbenchConfigurationNodeBase,
|
|
13
15
|
'properties': {
|
|
@@ -1251,6 +1253,16 @@ const registry = ( Registry.as(Extensions$2.Configuration));
|
|
|
1251
1253
|
'focusedView',
|
|
1252
1254
|
"`${focusedView}`: the name of the view that is currently focused."
|
|
1253
1255
|
)),
|
|
1256
|
+
( localizeWithPath(
|
|
1257
|
+
'vs/workbench/browser/workbench.contribution',
|
|
1258
|
+
'activeRepositoryName',
|
|
1259
|
+
"`${activeRepositoryName}`: the name of the active repository (e.g. vscode)."
|
|
1260
|
+
)),
|
|
1261
|
+
( localizeWithPath(
|
|
1262
|
+
'vs/workbench/browser/workbench.contribution',
|
|
1263
|
+
'activeRepositoryBranchName',
|
|
1264
|
+
"`${activeRepositoryBranchName}`: the name of the active branch in the active repository (e.g. main)."
|
|
1265
|
+
)),
|
|
1254
1266
|
( localizeWithPath(
|
|
1255
1267
|
'vs/workbench/browser/workbench.contribution',
|
|
1256
1268
|
'separator',
|
|
@@ -1269,21 +1281,12 @@ const registry = ( Registry.as(Extensions$2.Configuration));
|
|
|
1269
1281
|
'properties': {
|
|
1270
1282
|
'window.title': {
|
|
1271
1283
|
'type': 'string',
|
|
1272
|
-
'default':
|
|
1273
|
-
if (isMacintosh && isNative) {
|
|
1274
|
-
return '${activeEditorShort}${separator}${rootName}${separator}${profileName}';
|
|
1275
|
-
}
|
|
1276
|
-
const base = '${dirty}${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}${appName}';
|
|
1277
|
-
if (isWeb) {
|
|
1278
|
-
return base + '${separator}${remoteName}';
|
|
1279
|
-
}
|
|
1280
|
-
return base;
|
|
1281
|
-
})(),
|
|
1284
|
+
'default': defaultWindowTitle,
|
|
1282
1285
|
'markdownDescription': windowTitleDescription
|
|
1283
1286
|
},
|
|
1284
1287
|
'window.titleSeparator': {
|
|
1285
1288
|
'type': 'string',
|
|
1286
|
-
'default':
|
|
1289
|
+
'default': defaultWindowTitleSeparator,
|
|
1287
1290
|
'markdownDescription': ( localizeWithPath(
|
|
1288
1291
|
'vs/workbench/browser/workbench.contribution',
|
|
1289
1292
|
"window.titleSeparator",
|
|
@@ -1517,7 +1520,6 @@ const registry = ( Registry.as(Extensions$2.Configuration));
|
|
|
1517
1520
|
'problems.visibility': {
|
|
1518
1521
|
'type': 'boolean',
|
|
1519
1522
|
'default': true,
|
|
1520
|
-
'tags': ['experimental'],
|
|
1521
1523
|
'description': ( localizeWithPath(
|
|
1522
1524
|
'vs/workbench/browser/workbench.contribution',
|
|
1523
1525
|
'problems.visibility',
|
|
@@ -1629,7 +1631,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
|
|
|
1629
1631
|
}
|
|
1630
1632
|
});
|
|
1631
1633
|
})();
|
|
1632
|
-
( Registry.as(Extensions
|
|
1634
|
+
( Registry.as(Extensions.ConfigurationMigration))
|
|
1633
1635
|
.registerConfigurationMigrations([{
|
|
1634
1636
|
key: 'workbench.activityBar.visible', migrateFn: (value) => {
|
|
1635
1637
|
const result = [];
|
|
@@ -1642,7 +1644,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
|
|
|
1642
1644
|
return result;
|
|
1643
1645
|
}
|
|
1644
1646
|
}]);
|
|
1645
|
-
( Registry.as(Extensions
|
|
1647
|
+
( Registry.as(Extensions.ConfigurationMigration))
|
|
1646
1648
|
.registerConfigurationMigrations([{
|
|
1647
1649
|
key: 'workbench.editor.doubleClickTabToToggleEditorGroupSizes', migrateFn: (value) => {
|
|
1648
1650
|
const results = [];
|
|
@@ -2,10 +2,14 @@ import { __decorate, __param } from '../../../../../external/tslib/tslib.es6.js'
|
|
|
2
2
|
import { localizeWithPath } from '../../nls.js';
|
|
3
3
|
import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
|
|
4
4
|
import { Registry } from '../../platform/registry/common/platform.js';
|
|
5
|
+
import { IWorkspaceContextService } from '../../platform/workspace/common/workspace.js';
|
|
6
|
+
import { IConfigurationService } from '../../platform/configuration/common/configuration.js';
|
|
5
7
|
import { Disposable } from '../../base/common/lifecycle.js';
|
|
6
8
|
import { Emitter } from '../../base/common/event.js';
|
|
7
9
|
import { IRemoteAgentService } from '../services/remote/common/remoteAgentService.js';
|
|
8
10
|
import { isWindows } from '../../base/common/platform.js';
|
|
11
|
+
import { equals } from '../../base/common/objects.js';
|
|
12
|
+
import { DeferredPromise } from '../../base/common/async.js';
|
|
9
13
|
const applicationConfigurationNodeBase = ( Object.freeze({
|
|
10
14
|
'id': 'application',
|
|
11
15
|
'order': 100,
|
|
@@ -62,55 +66,154 @@ class ConfigurationMigrationRegistry {
|
|
|
62
66
|
}
|
|
63
67
|
const configurationMigrationRegistry = ( new ConfigurationMigrationRegistry());
|
|
64
68
|
Registry.add(Extensions.ConfigurationMigration, configurationMigrationRegistry);
|
|
65
|
-
let
|
|
66
|
-
|
|
69
|
+
let ConfigurationMigrationWorkbenchContribution = class ConfigurationMigrationWorkbenchContribution extends Disposable {
|
|
70
|
+
static { this.ID = 'workbench.contrib.configurationMigration'; }
|
|
71
|
+
constructor(configurationService, workspaceService) {
|
|
67
72
|
super();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
this.configurationService = configurationService;
|
|
74
|
+
this.workspaceService = workspaceService;
|
|
75
|
+
this._register(this.workspaceService.onDidChangeWorkspaceFolders(async (e) => {
|
|
76
|
+
for (const folder of e.added) {
|
|
77
|
+
await this.migrateConfigurationsForFolder(folder, configurationMigrationRegistry.migrations);
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
this.migrateConfigurations(configurationMigrationRegistry.migrations);
|
|
81
|
+
this._register(configurationMigrationRegistry.onDidRegisterConfigurationMigration(migration => this.migrateConfigurations(migration)));
|
|
82
|
+
}
|
|
83
|
+
async migrateConfigurations(migrations) {
|
|
84
|
+
await this.migrateConfigurationsForFolder(undefined, migrations);
|
|
85
|
+
for (const folder of this.workspaceService.getWorkspace().folders) {
|
|
86
|
+
await this.migrateConfigurationsForFolder(folder, migrations);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async migrateConfigurationsForFolder(folder, migrations) {
|
|
90
|
+
await Promise.all([( migrations.map(
|
|
91
|
+
migration => this.migrateConfigurationsForFolderAndOverride(migration, folder?.uri)
|
|
92
|
+
))]);
|
|
93
|
+
}
|
|
94
|
+
async migrateConfigurationsForFolderAndOverride(migration, resource) {
|
|
95
|
+
const inspectData = this.configurationService.inspect(migration.key, { resource });
|
|
96
|
+
const targetPairs = this.workspaceService.getWorkbenchState() === 3 ? [
|
|
97
|
+
['user', 2 ],
|
|
98
|
+
['userLocal', 3 ],
|
|
99
|
+
['userRemote', 4 ],
|
|
100
|
+
['workspace', 5 ],
|
|
101
|
+
['workspaceFolder', 6 ],
|
|
102
|
+
] : [
|
|
103
|
+
['user', 2 ],
|
|
104
|
+
['userLocal', 3 ],
|
|
105
|
+
['userRemote', 4 ],
|
|
106
|
+
['workspace', 5 ],
|
|
107
|
+
];
|
|
108
|
+
for (const [dataKey, target] of targetPairs) {
|
|
109
|
+
const inspectValue = inspectData[dataKey];
|
|
110
|
+
if (!inspectValue) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const migrationValues = [];
|
|
114
|
+
if (inspectValue.value !== undefined) {
|
|
115
|
+
const keyValuePairs = await this.runMigration(migration, dataKey, inspectValue.value, resource, undefined);
|
|
116
|
+
for (const keyValuePair of keyValuePairs ?? []) {
|
|
117
|
+
migrationValues.push([keyValuePair, []]);
|
|
73
118
|
}
|
|
74
119
|
}
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
120
|
+
for (const { identifiers, value } of inspectValue.overrides ?? []) {
|
|
121
|
+
if (value !== undefined) {
|
|
122
|
+
const keyValuePairs = await this.runMigration(migration, dataKey, value, resource, identifiers);
|
|
123
|
+
for (const keyValuePair of keyValuePairs ?? []) {
|
|
124
|
+
migrationValues.push([keyValuePair, identifiers]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (migrationValues.length) {
|
|
129
|
+
await Promise.allSettled(( migrationValues.map(
|
|
130
|
+
async ([[key, value], overrideIdentifiers]) => this.configurationService.updateValue(key, value.value, { resource, overrideIdentifiers }, target)
|
|
131
|
+
)));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async runMigration(migration, dataKey, value, resource, overrideIdentifiers) {
|
|
136
|
+
const valueAccessor = (key) => {
|
|
137
|
+
const inspectData = this.configurationService.inspect(key, { resource });
|
|
138
|
+
const inspectValue = inspectData[dataKey];
|
|
139
|
+
if (!inspectValue) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
if (!overrideIdentifiers) {
|
|
143
|
+
return inspectValue.value;
|
|
144
|
+
}
|
|
145
|
+
return inspectValue.overrides?.find(({ identifiers }) => equals(identifiers, overrideIdentifiers))?.value;
|
|
146
|
+
};
|
|
147
|
+
const result = await migration.migrateFn(value, valueAccessor);
|
|
148
|
+
return Array.isArray(result) ? result : [[migration.key, result]];
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
ConfigurationMigrationWorkbenchContribution = ( __decorate([
|
|
152
|
+
( __param(0, IConfigurationService)),
|
|
153
|
+
( __param(1, IWorkspaceContextService))
|
|
154
|
+
], ConfigurationMigrationWorkbenchContribution));
|
|
155
|
+
let DynamicWorkbenchSecurityConfiguration = class DynamicWorkbenchSecurityConfiguration extends Disposable {
|
|
156
|
+
static { this.ID = 'workbench.contrib.dynamicWorkbenchSecurityConfiguration'; }
|
|
157
|
+
constructor(remoteAgentService) {
|
|
158
|
+
super();
|
|
159
|
+
this.remoteAgentService = remoteAgentService;
|
|
160
|
+
this._ready = ( new DeferredPromise());
|
|
161
|
+
this.ready = this._ready.p;
|
|
162
|
+
this.create();
|
|
163
|
+
}
|
|
164
|
+
async create() {
|
|
165
|
+
try {
|
|
166
|
+
await this.doCreate();
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
this._ready.complete();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async doCreate() {
|
|
173
|
+
if (!isWindows) {
|
|
174
|
+
const remoteEnvironment = await this.remoteAgentService.getEnvironment();
|
|
175
|
+
if (remoteEnvironment?.os !== 1 ) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const registry = ( Registry.as(Extensions$1.Configuration));
|
|
180
|
+
registry.registerConfiguration({
|
|
181
|
+
...securityConfigurationNodeBase,
|
|
182
|
+
'properties': {
|
|
183
|
+
'security.allowedUNCHosts': {
|
|
184
|
+
'type': 'array',
|
|
185
|
+
'items': {
|
|
186
|
+
'type': 'string',
|
|
187
|
+
'pattern': '^[^\\\\]+$',
|
|
188
|
+
'patternErrorMessage': ( localizeWithPath(
|
|
92
189
|
'vs/workbench/common/configuration',
|
|
93
|
-
'security.allowedUNCHosts',
|
|
94
|
-
'
|
|
95
|
-
))
|
|
96
|
-
'scope': 2
|
|
190
|
+
'security.allowedUNCHosts.patternErrorMessage',
|
|
191
|
+
'UNC host names must not contain backslashes.'
|
|
192
|
+
))
|
|
97
193
|
},
|
|
98
|
-
'
|
|
99
|
-
|
|
100
|
-
'
|
|
101
|
-
'
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
194
|
+
'default': [],
|
|
195
|
+
'markdownDescription': ( localizeWithPath(
|
|
196
|
+
'vs/workbench/common/configuration',
|
|
197
|
+
'security.allowedUNCHosts',
|
|
198
|
+
'A set of UNC host names (without leading or trailing backslash, for example `192.168.0.1` or `my-server`) to allow without user confirmation. If a UNC host is being accessed that is not allowed via this setting or has not been acknowledged via user confirmation, an error will occur and the operation stopped. A restart is required when changing this setting. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
|
|
199
|
+
)),
|
|
200
|
+
'scope': 2
|
|
201
|
+
},
|
|
202
|
+
'security.restrictUNCAccess': {
|
|
203
|
+
'type': 'boolean',
|
|
204
|
+
'default': true,
|
|
205
|
+
'markdownDescription': ( localizeWithPath(
|
|
206
|
+
'vs/workbench/common/configuration',
|
|
207
|
+
'security.restrictUNCAccess',
|
|
208
|
+
'If enabled, only allows access to UNC host names that are allowed by the `#security.allowedUNCHosts#` setting or after user confirmation. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
|
|
209
|
+
)),
|
|
210
|
+
'scope': 2
|
|
108
211
|
}
|
|
109
|
-
}
|
|
110
|
-
})
|
|
212
|
+
}
|
|
213
|
+
});
|
|
111
214
|
}
|
|
112
215
|
};
|
|
113
|
-
|
|
216
|
+
DynamicWorkbenchSecurityConfiguration = ( __decorate([
|
|
114
217
|
( __param(0, IRemoteAgentService))
|
|
115
|
-
],
|
|
116
|
-
export {
|
|
218
|
+
], DynamicWorkbenchSecurityConfiguration));
|
|
219
|
+
export { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, Extensions, applicationConfigurationNodeBase, problemsConfigurationNodeBase, securityConfigurationNodeBase, workbenchConfigurationNodeBase };
|
|
@@ -185,10 +185,10 @@ const InEditorZenModeContext = ( new RawContextKey('inZenMode', false, ( localiz
|
|
|
185
185
|
'inZenMode',
|
|
186
186
|
"Whether Zen mode is enabled"
|
|
187
187
|
))));
|
|
188
|
-
const
|
|
188
|
+
const IsMainEditorCenteredLayoutContext = ( new RawContextKey('isCenteredLayout', false, ( localizeWithPath(
|
|
189
189
|
'vs/workbench/common/contextkeys',
|
|
190
|
-
'
|
|
191
|
-
"Whether centered layout is enabled"
|
|
190
|
+
'isMainEditorCenteredLayout',
|
|
191
|
+
"Whether centered layout is enabled for the main editor"
|
|
192
192
|
))));
|
|
193
193
|
const SplitEditorsVertically = ( new RawContextKey('splitEditorsVertically', false, ( localizeWithPath(
|
|
194
194
|
'vs/workbench/common/contextkeys',
|
|
@@ -473,4 +473,4 @@ function applyAvailableEditorIds(contextKey, editor, editorResolverService) {
|
|
|
473
473
|
contextKey.set(editors.join(','));
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
|
-
export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext,
|
|
476
|
+
export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext, IsMainEditorCenteredLayoutContext, IsMainWindowFullscreenContext, MainEditorAreaVisibleContext, MultipleEditorGroupsContext, NotificationFocusedContext, NotificationsCenterVisibleContext, NotificationsToastsVisibleContext, OpenFolderWorkspaceSupportContext, PanelAlignmentContext, PanelFocusContext, PanelMaximizedContext, PanelPositionContext, PanelVisibleContext, RemoteNameContext, ResourceContextKey, SideBarVisibleContext, SideBySideEditorActiveContext, SidebarFocusContext, SplitEditorsVertically, StatusBarFocused, TemporaryWorkspaceContext, TextCompareEditorActiveContext, TextCompareEditorVisibleContext, TitleBarStyleContext, TitleBarVisibleContext, VirtualWorkspaceContext, WorkbenchStateContext, WorkspaceFolderCountContext, applyAvailableEditorIds, getVisbileViewContextKey };
|
|
@@ -5,37 +5,128 @@ import { DeferredPromise, runWhenGlobalIdle } from '../../base/common/async.js';
|
|
|
5
5
|
import { mark } from '../../base/common/performance.js';
|
|
6
6
|
import { ILogService } from '../../platform/log/common/log.js';
|
|
7
7
|
import { IEnvironmentService } from '../../platform/environment/common/environment.js';
|
|
8
|
+
import { getOrSet } from '../../base/common/map.js';
|
|
9
|
+
import { Disposable } from '../../base/common/lifecycle.js';
|
|
10
|
+
import { IEditorPaneService } from '../services/editor/common/editorPaneService.js';
|
|
8
11
|
var Extensions;
|
|
9
12
|
( (function(Extensions) {
|
|
10
13
|
Extensions.Workbench = 'workbench.contributions.kind';
|
|
11
14
|
})(Extensions || (Extensions = {})));
|
|
12
|
-
|
|
15
|
+
function isOnEditorWorkbenchContributionInstantiation(obj) {
|
|
16
|
+
const candidate = obj;
|
|
17
|
+
return !!candidate && typeof candidate.editorTypeId === 'string';
|
|
18
|
+
}
|
|
19
|
+
function toWorkbenchPhase(phase) {
|
|
20
|
+
switch (phase) {
|
|
21
|
+
case 3 :
|
|
22
|
+
return 3 ;
|
|
23
|
+
case 4 :
|
|
24
|
+
return 4 ;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function toLifecyclePhase(instantiation) {
|
|
28
|
+
switch (instantiation) {
|
|
29
|
+
case 1 :
|
|
30
|
+
return 1 ;
|
|
31
|
+
case 2 :
|
|
32
|
+
return 2 ;
|
|
33
|
+
case 3 :
|
|
34
|
+
return 3 ;
|
|
35
|
+
case 4 :
|
|
36
|
+
return 4 ;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
class WorkbenchContributionsRegistry extends Disposable {
|
|
13
40
|
constructor() {
|
|
14
|
-
|
|
41
|
+
super(...arguments);
|
|
42
|
+
this.contributionsByPhase = ( new Map());
|
|
43
|
+
this.contributionsByEditor = ( new Map());
|
|
44
|
+
this.contributionsById = ( new Map());
|
|
45
|
+
this.instancesById = ( new Map());
|
|
46
|
+
this.timingsByPhase = ( new Map());
|
|
15
47
|
this.pendingRestoredContributions = ( new DeferredPromise());
|
|
16
48
|
this.whenRestored = this.pendingRestoredContributions.p;
|
|
17
49
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
50
|
+
static { this.INSTANCE = ( new WorkbenchContributionsRegistry()); }
|
|
51
|
+
static { this.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD = 20; }
|
|
52
|
+
static { this.BLOCK_AFTER_RESTORE_WARN_THRESHOLD = 100; }
|
|
53
|
+
get timings() { return this.timingsByPhase; }
|
|
54
|
+
registerWorkbenchContribution2(id, ctor, instantiation) {
|
|
55
|
+
const contribution = { id, ctor };
|
|
56
|
+
if (this.instantiationService && this.lifecycleService && this.logService && this.environmentService && this.editorPaneService &&
|
|
57
|
+
((typeof instantiation === 'number' && this.lifecycleService.phase >= instantiation) ||
|
|
58
|
+
(typeof id === 'string' && isOnEditorWorkbenchContributionInstantiation(instantiation) && this.editorPaneService.didInstantiateEditorPane(instantiation.editorTypeId)))) {
|
|
59
|
+
this.safeCreateContribution(this.instantiationService, this.logService, this.environmentService, contribution, typeof instantiation === 'number' ? toLifecyclePhase(instantiation) : this.lifecycleService.phase);
|
|
21
60
|
}
|
|
22
61
|
else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
62
|
+
if (typeof instantiation === 'number') {
|
|
63
|
+
getOrSet(this.contributionsByPhase, toLifecyclePhase(instantiation), []).push(contribution);
|
|
64
|
+
}
|
|
65
|
+
if (typeof id === 'string') {
|
|
66
|
+
if (!( this.contributionsById.has(id))) {
|
|
67
|
+
this.contributionsById.set(id, contribution);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.error(`IWorkbenchContributionsRegistry#registerWorkbenchContribution(): Can't register multiple contributions with same id '${id}'`);
|
|
71
|
+
}
|
|
72
|
+
if (isOnEditorWorkbenchContributionInstantiation(instantiation)) {
|
|
73
|
+
getOrSet(this.contributionsByEditor, instantiation.editorTypeId, []).push(contribution);
|
|
74
|
+
}
|
|
27
75
|
}
|
|
28
|
-
contributions.push(contribution);
|
|
29
76
|
}
|
|
30
77
|
}
|
|
78
|
+
registerWorkbenchContribution(ctor, phase) {
|
|
79
|
+
this.registerWorkbenchContribution2(undefined, ctor, toWorkbenchPhase(phase));
|
|
80
|
+
}
|
|
81
|
+
getWorkbenchContribution(id) {
|
|
82
|
+
if (( this.instancesById.has(id))) {
|
|
83
|
+
return this.instancesById.get(id);
|
|
84
|
+
}
|
|
85
|
+
const instantiationService = this.instantiationService;
|
|
86
|
+
const lifecycleService = this.lifecycleService;
|
|
87
|
+
const logService = this.logService;
|
|
88
|
+
const environmentService = this.environmentService;
|
|
89
|
+
if (!instantiationService || !lifecycleService || !logService || !environmentService) {
|
|
90
|
+
throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): cannot be called before registry started`);
|
|
91
|
+
}
|
|
92
|
+
const contribution = this.contributionsById.get(id);
|
|
93
|
+
if (!contribution) {
|
|
94
|
+
throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution with that identifier is unknown.`);
|
|
95
|
+
}
|
|
96
|
+
if (lifecycleService.phase < 3 ) {
|
|
97
|
+
logService.warn(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution instantiated before LifecyclePhase.Restored!`);
|
|
98
|
+
}
|
|
99
|
+
this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
|
|
100
|
+
const instance = this.instancesById.get(id);
|
|
101
|
+
if (!instance) {
|
|
102
|
+
throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): failed to create contribution.`);
|
|
103
|
+
}
|
|
104
|
+
return instance;
|
|
105
|
+
}
|
|
31
106
|
start(accessor) {
|
|
32
107
|
const instantiationService = this.instantiationService = accessor.get(IInstantiationService);
|
|
33
108
|
const lifecycleService = this.lifecycleService = accessor.get(ILifecycleService);
|
|
34
109
|
const logService = this.logService = accessor.get(ILogService);
|
|
35
110
|
const environmentService = this.environmentService = accessor.get(IEnvironmentService);
|
|
111
|
+
const editorPaneService = this.editorPaneService = accessor.get(IEditorPaneService);
|
|
36
112
|
for (const phase of [1 , 2 , 3 , 4 ]) {
|
|
37
113
|
this.instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase);
|
|
38
114
|
}
|
|
115
|
+
for (const editorTypeId of ( this.contributionsByEditor.keys())) {
|
|
116
|
+
if (editorPaneService.didInstantiateEditorPane(editorTypeId)) {
|
|
117
|
+
this.onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
this._register(editorPaneService.onWillInstantiateEditorPane(e => this.onEditor(e.typeId, instantiationService, lifecycleService, logService, environmentService)));
|
|
121
|
+
}
|
|
122
|
+
onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService) {
|
|
123
|
+
const contributions = this.contributionsByEditor.get(editorTypeId);
|
|
124
|
+
if (contributions) {
|
|
125
|
+
this.contributionsByEditor.delete(editorTypeId);
|
|
126
|
+
for (const contribution of contributions) {
|
|
127
|
+
this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
39
130
|
}
|
|
40
131
|
instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase) {
|
|
41
132
|
if (lifecycleService.phase >= phase) {
|
|
@@ -46,9 +137,9 @@ class WorkbenchContributionsRegistry {
|
|
|
46
137
|
}
|
|
47
138
|
}
|
|
48
139
|
async doInstantiateByPhase(instantiationService, logService, environmentService, phase) {
|
|
49
|
-
const contributions = this.
|
|
140
|
+
const contributions = this.contributionsByPhase.get(phase);
|
|
50
141
|
if (contributions) {
|
|
51
|
-
this.
|
|
142
|
+
this.contributionsByPhase.delete(phase);
|
|
52
143
|
switch (phase) {
|
|
53
144
|
case 1 :
|
|
54
145
|
case 2 : {
|
|
@@ -93,20 +184,45 @@ class WorkbenchContributionsRegistry {
|
|
|
93
184
|
runWhenGlobalIdle(instantiateSome, forcedTimeout);
|
|
94
185
|
}
|
|
95
186
|
safeCreateContribution(instantiationService, logService, environmentService, contribution, phase) {
|
|
96
|
-
|
|
187
|
+
if (typeof contribution.id === 'string' && ( this.instancesById.has(contribution.id))) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const now = Date.now();
|
|
97
191
|
try {
|
|
98
|
-
|
|
192
|
+
if (typeof contribution.id === 'string') {
|
|
193
|
+
mark(`code/willCreateWorkbenchContribution/${phase}/${contribution.id}`);
|
|
194
|
+
}
|
|
195
|
+
const instance = instantiationService.createInstance(contribution.ctor);
|
|
196
|
+
if (typeof contribution.id === 'string') {
|
|
197
|
+
this.instancesById.set(contribution.id, instance);
|
|
198
|
+
this.contributionsById.delete(contribution.id);
|
|
199
|
+
}
|
|
99
200
|
}
|
|
100
201
|
catch (error) {
|
|
101
|
-
logService.error(`Unable to create workbench contribution ${contribution.name}.`, error);
|
|
202
|
+
logService.error(`Unable to create workbench contribution '${contribution.id ?? contribution.ctor.name}'.`, error);
|
|
102
203
|
}
|
|
103
|
-
|
|
204
|
+
finally {
|
|
205
|
+
if (typeof contribution.id === 'string') {
|
|
206
|
+
mark(`code/didCreateWorkbenchContribution/${phase}/${contribution.id}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (typeof contribution.id === 'string' || !environmentService.isBuilt ) {
|
|
104
210
|
const time = Date.now() - now;
|
|
105
|
-
if (time >
|
|
106
|
-
logService.warn(`
|
|
211
|
+
if (time > (phase < 3 ? WorkbenchContributionsRegistry.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD : WorkbenchContributionsRegistry.BLOCK_AFTER_RESTORE_WARN_THRESHOLD)) {
|
|
212
|
+
logService.warn(`Creation of workbench contribution '${contribution.id ?? contribution.ctor.name}' took ${time}ms.`);
|
|
213
|
+
}
|
|
214
|
+
if (typeof contribution.id === 'string') {
|
|
215
|
+
let timingsForPhase = this.timingsByPhase.get(phase);
|
|
216
|
+
if (!timingsForPhase) {
|
|
217
|
+
timingsForPhase = [];
|
|
218
|
+
this.timingsByPhase.set(phase, timingsForPhase);
|
|
219
|
+
}
|
|
220
|
+
timingsForPhase.push([contribution.id, time]);
|
|
107
221
|
}
|
|
108
222
|
}
|
|
109
223
|
}
|
|
110
224
|
}
|
|
111
|
-
|
|
112
|
-
|
|
225
|
+
const registerWorkbenchContribution2 = WorkbenchContributionsRegistry.INSTANCE.registerWorkbenchContribution2.bind(WorkbenchContributionsRegistry.INSTANCE);
|
|
226
|
+
const getWorkbenchContribution = WorkbenchContributionsRegistry.INSTANCE.getWorkbenchContribution.bind(WorkbenchContributionsRegistry.INSTANCE);
|
|
227
|
+
Registry.add(Extensions.Workbench, WorkbenchContributionsRegistry.INSTANCE);
|
|
228
|
+
export { Extensions, WorkbenchContributionsRegistry, getWorkbenchContribution, registerWorkbenchContribution2 };
|
|
@@ -116,8 +116,8 @@ let DiffEditorInput = class DiffEditorInput extends SideBySideEditorInput {
|
|
|
116
116
|
return this.labels.mediumTitle;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
async resolve(
|
|
120
|
-
const resolvedModel = await this.createModel(
|
|
119
|
+
async resolve() {
|
|
120
|
+
const resolvedModel = await this.createModel();
|
|
121
121
|
this.cachedModel?.dispose();
|
|
122
122
|
this.cachedModel = resolvedModel;
|
|
123
123
|
return this.cachedModel;
|
|
@@ -128,10 +128,10 @@ let DiffEditorInput = class DiffEditorInput extends SideBySideEditorInput {
|
|
|
128
128
|
}
|
|
129
129
|
return editorPanes.find(editorPane => editorPane.typeId === TEXT_DIFF_EDITOR_ID);
|
|
130
130
|
}
|
|
131
|
-
async createModel(
|
|
131
|
+
async createModel() {
|
|
132
132
|
const [originalEditorModel, modifiedEditorModel] = await Promise.all([
|
|
133
|
-
this.original.resolve(
|
|
134
|
-
this.modified.resolve(
|
|
133
|
+
this.original.resolve(),
|
|
134
|
+
this.modified.resolve()
|
|
135
135
|
]);
|
|
136
136
|
if (modifiedEditorModel instanceof BaseTextEditorModel && originalEditorModel instanceof BaseTextEditorModel) {
|
|
137
137
|
return ( new TextDiffEditorModel(originalEditorModel, modifiedEditorModel));
|
|
@@ -609,7 +609,7 @@ let EditorGroupModel = class EditorGroupModel extends Disposable {
|
|
|
609
609
|
let canSerializeEditor = false;
|
|
610
610
|
const editorSerializer = registry.getEditorSerializer(editor);
|
|
611
611
|
if (editorSerializer) {
|
|
612
|
-
const value = editorSerializer.serialize(editor);
|
|
612
|
+
const value = editorSerializer.canSerialize(editor) ? editorSerializer.serialize(editor) : undefined;
|
|
613
613
|
if (typeof value === 'string') {
|
|
614
614
|
canSerializeEditor = true;
|
|
615
615
|
serializedEditors.push({ id: editor.typeId, value });
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Emitter, Event } from '../../../base/common/event.js';
|
|
2
2
|
import { URI } from '../../../base/common/uri.js';
|
|
3
|
-
import { IEditorOptions } from '../../../platform/editor/common/editor.js';
|
|
4
3
|
import { IEditorIdentifier, AbstractEditorInput, EditorInputCapabilities, Verbosity, GroupIdentifier, ISaveOptions, IUntypedEditorInput, IRevertOptions, IMoveResult, IEditorDescriptor, IEditorPane } from '../editor.js';
|
|
5
4
|
import { ConfirmResult } from '../../../platform/dialogs/common/dialogs.js';
|
|
6
5
|
import { IMarkdownString } from '../../../base/common/htmlContent.js';
|
|
@@ -29,6 +28,20 @@ interface IEditorCloseHandler {
|
|
|
29
28
|
*/
|
|
30
29
|
confirm(editors: ReadonlyArray<IEditorIdentifier>): Promise<ConfirmResult>;
|
|
31
30
|
}
|
|
31
|
+
interface IUntypedEditorOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Implementations should try to preserve as much
|
|
34
|
+
* view state as possible from the typed input based
|
|
35
|
+
* on the group the editor is opened.
|
|
36
|
+
*/
|
|
37
|
+
readonly preserveViewState?: GroupIdentifier;
|
|
38
|
+
/**
|
|
39
|
+
* Implementations should preserve the original
|
|
40
|
+
* resource of the typed input and not alter
|
|
41
|
+
* it.
|
|
42
|
+
*/
|
|
43
|
+
readonly preserveResource?: boolean;
|
|
44
|
+
}
|
|
32
45
|
/**
|
|
33
46
|
* Editor inputs are lightweight objects that can be passed to the workbench API to open inside the editor part.
|
|
34
47
|
* Each editor input is mapped to an editor that is capable of opening it through the Platform facade.
|
|
@@ -149,7 +162,7 @@ declare abstract class EditorInput extends AbstractEditorInput {
|
|
|
149
162
|
* The `options` parameter are passed down from the editor when the
|
|
150
163
|
* input is resolved as part of it.
|
|
151
164
|
*/
|
|
152
|
-
resolve(
|
|
165
|
+
resolve(): Promise<IDisposable | null>;
|
|
153
166
|
/**
|
|
154
167
|
* Saves the editor. The provided groupId helps implementors
|
|
155
168
|
* to e.g. preserve view state of the editor and re-open it
|
|
@@ -205,15 +218,8 @@ declare abstract class EditorInput extends AbstractEditorInput {
|
|
|
205
218
|
* editor input into a form that it can be restored.
|
|
206
219
|
*
|
|
207
220
|
* May return `undefined` if an untyped representation is not supported.
|
|
208
|
-
*
|
|
209
|
-
* @param options additional configuration for the expected return type.
|
|
210
|
-
* When `preserveViewState` is provided, implementations should try to
|
|
211
|
-
* preserve as much view state as possible from the typed input based on
|
|
212
|
-
* the group the editor is opened.
|
|
213
221
|
*/
|
|
214
|
-
toUntyped(options?:
|
|
215
|
-
preserveViewState: GroupIdentifier;
|
|
216
|
-
}): IUntypedEditorInput | undefined;
|
|
222
|
+
toUntyped(options?: IUntypedEditorOptions): IUntypedEditorInput | undefined;
|
|
217
223
|
/**
|
|
218
224
|
* Returns if this editor is disposed.
|
|
219
225
|
*/
|
|
@@ -221,4 +227,4 @@ declare abstract class EditorInput extends AbstractEditorInput {
|
|
|
221
227
|
dispose(): void;
|
|
222
228
|
}
|
|
223
229
|
|
|
224
|
-
export { EditorInput, type IEditorCloseHandler };
|
|
230
|
+
export { EditorInput, type IEditorCloseHandler, type IUntypedEditorOptions };
|