@codingame/monaco-vscode-api 1.83.15 → 1.85.0-next.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 +430 -0
- package/api.js +13 -7
- package/assets/clear.mp3 +0 -0
- package/assets/format.mp3 +0 -0
- package/assets/save.mp3 +0 -0
- package/contributions.js +3 -0
- package/extensions.d.ts +13 -3
- package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
- package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
- package/lifecycle.js +2 -2
- package/localExtensionHost.js +6 -3
- package/missing-services.js +170 -22
- package/monaco-editor-treemending.patch +6884 -18018
- package/monaco-treemending.js +2 -2
- package/package.json +7 -7
- package/service-override/tools/editor.d.ts +8 -8
- package/service-override/tools/editor.js +44 -19
- package/services.d.ts +2 -2
- package/services.js +3 -3
- package/vscode/src/vs/base/browser/broadcast.js +6 -5
- package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
- package/vscode/src/vs/base/browser/touch.d.ts +10 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
- package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
- package/vscode/src/vs/base/common/actions.d.ts +1 -15
- package/vscode/src/vs/base/common/async.d.ts +1 -31
- package/vscode/src/vs/base/common/event.d.ts +2 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
- package/vscode/src/vs/base/common/prefixTree.js +140 -0
- package/vscode/src/vs/base/common/product.d.ts +16 -2
- package/vscode/src/vs/base/common/resourceTree.js +135 -0
- package/vscode/src/vs/base/common/skipList.js +1 -0
- package/vscode/src/vs/base/common/tfIdf.js +137 -0
- package/vscode/src/vs/base/common/types.d.ts +13 -1
- package/vscode/src/vs/base/common/verifier.js +62 -0
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
- package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
- package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
- package/vscode/src/vs/editor/common/languages.d.ts +23 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
- package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
- package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +26 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
- package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
- package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
- package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
- package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
- package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
- package/vscode/src/vs/platform/files/common/watcher.js +77 -0
- package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
- package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
- package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
- package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
- package/vscode/src/vs/platform/storage/common/storage.js +2 -2
- package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +41 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
- package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +651 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
- package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
- package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
- package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
- package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
- package/vscode/src/vs/platform/window/common/window.js +6 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
- package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
- package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
- package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
- package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
- package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
- package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
- package/vscode/src/vs/workbench/browser/composite.js +5 -4
- package/vscode/src/vs/workbench/browser/dnd.js +72 -23
- package/vscode/src/vs/workbench/browser/labels.js +7 -3
- package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
- package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
- package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
- package/vscode/src/vs/workbench/browser/part.js +33 -2
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
- package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
- package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
- package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
- package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
- package/vscode/src/vs/workbench/browser/style.js +2 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
- package/vscode/src/vs/workbench/browser/window.js +55 -0
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
- package/vscode/src/vs/workbench/common/activity.js +3 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
- package/vscode/src/vs/workbench/common/contributions.js +4 -3
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
- package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
- package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
- package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
- package/vscode/src/vs/workbench/common/editor.js +11 -3
- package/vscode/src/vs/workbench/common/theme.js +2 -2
- package/vscode/src/vs/workbench/common/views.d.ts +4 -4
- package/vscode/src/vs/workbench/common/views.js +3 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +91 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
- package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +423 -0
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
- package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
- package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
- package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +25 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +814 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
- package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +101 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
- package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +116 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
- package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
- package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
- package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
- package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
- package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
- package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
- package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
- package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
- package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
- package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
- package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
- package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
- package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
- package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
- package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
- package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
- package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
- package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
- package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
- package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
- package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
- package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
- package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
- package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
- package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
- package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
- package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
- package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
- package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
- package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
- package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
- package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
- package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
- package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
- package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
- package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
- package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
- package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
- package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
- package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
- package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
- package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
- package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
- package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
- package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
- /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
- /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
- /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
- /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
- /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
- /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
|
@@ -46,6 +46,8 @@ import { defaultInputBoxStyles } from 'monaco-editor/esm/vs/platform/theme/brows
|
|
|
46
46
|
import { timeout } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
47
47
|
import { IHoverService } from '../../../../services/hover/browser/hover.js';
|
|
48
48
|
import { IFilesConfigurationService } from '../../../../services/filesConfiguration/common/filesConfigurationService.js';
|
|
49
|
+
import { mainWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
|
|
50
|
+
import { explorerFileContribRegistry } from '../explorerFileContrib.js';
|
|
49
51
|
import { getFileNamesMessage, IDialogService } from '../../../../../platform/dialogs/common/dialogs.js';
|
|
50
52
|
var FilesRenderer_1, FileDragAndDrop_1;
|
|
51
53
|
class ExplorerDelegate {
|
|
@@ -208,7 +210,7 @@ class CompressedNavigationController {
|
|
|
208
210
|
let FilesRenderer = class FilesRenderer {
|
|
209
211
|
static { FilesRenderer_1 = this; }
|
|
210
212
|
static { this.ID = 'file'; }
|
|
211
|
-
constructor(container, labels, updateWidth, contextViewService, themeService, configurationService, explorerService, labelService, contextService, contextMenuService, hoverService) {
|
|
213
|
+
constructor(container, labels, updateWidth, contextViewService, themeService, configurationService, explorerService, labelService, contextService, contextMenuService, hoverService, instantiationService) {
|
|
212
214
|
this.labels = labels;
|
|
213
215
|
this.updateWidth = updateWidth;
|
|
214
216
|
this.contextViewService = contextViewService;
|
|
@@ -219,6 +221,7 @@ let FilesRenderer = class FilesRenderer {
|
|
|
219
221
|
this.contextService = contextService;
|
|
220
222
|
this.contextMenuService = contextMenuService;
|
|
221
223
|
this.hoverService = hoverService;
|
|
224
|
+
this.instantiationService = instantiationService;
|
|
222
225
|
this.compressedNavigationControllers = ( new Map());
|
|
223
226
|
this._onDidChangeActiveDescendant = ( new EventMultiplexer());
|
|
224
227
|
this.onDidChangeActiveDescendant = this._onDidChangeActiveDescendant.event;
|
|
@@ -263,12 +266,16 @@ let FilesRenderer = class FilesRenderer {
|
|
|
263
266
|
return overflowed ? this.hoverService.showHover({
|
|
264
267
|
...options,
|
|
265
268
|
target: indentGuideElement,
|
|
266
|
-
compact: true,
|
|
267
269
|
container: listRow,
|
|
268
270
|
additionalClasses: ['explorer-item-hover'],
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
271
|
+
position: {
|
|
272
|
+
hoverPosition: 1 ,
|
|
273
|
+
},
|
|
274
|
+
appearance: {
|
|
275
|
+
compact: true,
|
|
276
|
+
skipFadeInAnimation: true,
|
|
277
|
+
showPointer: false,
|
|
278
|
+
}
|
|
272
279
|
}, focus) : undefined;
|
|
273
280
|
}
|
|
274
281
|
onDidHideHover() {
|
|
@@ -317,7 +324,8 @@ let FilesRenderer = class FilesRenderer {
|
|
|
317
324
|
catch (e) {
|
|
318
325
|
}
|
|
319
326
|
}));
|
|
320
|
-
const
|
|
327
|
+
const contribs = explorerFileContribRegistry.create(this.instantiationService, container, templateDisposables);
|
|
328
|
+
const templateData = { templateDisposables, elementDisposables: templateDisposables.add(( new DisposableStore())), label, container, contribs };
|
|
321
329
|
return templateData;
|
|
322
330
|
}
|
|
323
331
|
renderElement(node, index, templateData) {
|
|
@@ -331,6 +339,7 @@ let FilesRenderer = class FilesRenderer {
|
|
|
331
339
|
}
|
|
332
340
|
else {
|
|
333
341
|
templateData.label.element.style.display = 'none';
|
|
342
|
+
templateData.contribs.forEach(c => c.setResource(undefined));
|
|
334
343
|
templateData.elementDisposables.add(this.renderInputBox(templateData.container, stat, editableData));
|
|
335
344
|
}
|
|
336
345
|
}
|
|
@@ -347,7 +356,8 @@ let FilesRenderer = class FilesRenderer {
|
|
|
347
356
|
this.renderStat(stat, label, id, node.filterData, templateData);
|
|
348
357
|
const compressedNavigationController = ( new CompressedNavigationController(id, node.element.elements, templateData, node.depth, node.collapsed));
|
|
349
358
|
templateData.elementDisposables.add(compressedNavigationController);
|
|
350
|
-
this.compressedNavigationControllers.
|
|
359
|
+
const nodeControllers = this.compressedNavigationControllers.get(stat) ?? [];
|
|
360
|
+
this.compressedNavigationControllers.set(stat, [...nodeControllers, compressedNavigationController]);
|
|
351
361
|
templateData.elementDisposables.add(this._onDidChangeActiveDescendant.add(compressedNavigationController.onDidChange));
|
|
352
362
|
templateData.elementDisposables.add(dom.addDisposableListener(templateData.container, 'mousedown', e => {
|
|
353
363
|
const result = getIconLabelNameFromHTMLElement(e.target);
|
|
@@ -355,11 +365,24 @@ let FilesRenderer = class FilesRenderer {
|
|
|
355
365
|
compressedNavigationController.setIndex(result.index);
|
|
356
366
|
}
|
|
357
367
|
}));
|
|
358
|
-
templateData.elementDisposables.add(toDisposable(() =>
|
|
368
|
+
templateData.elementDisposables.add(toDisposable(() => {
|
|
369
|
+
const nodeControllers = this.compressedNavigationControllers.get(stat) ?? [];
|
|
370
|
+
const renderedIndex = nodeControllers.findIndex(controller => controller === compressedNavigationController);
|
|
371
|
+
if (renderedIndex < 0) {
|
|
372
|
+
throw new Error('Disposing unknown navigation controller');
|
|
373
|
+
}
|
|
374
|
+
if (nodeControllers.length === 1) {
|
|
375
|
+
this.compressedNavigationControllers.delete(stat);
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
nodeControllers.splice(renderedIndex, 1);
|
|
379
|
+
}
|
|
380
|
+
}));
|
|
359
381
|
}
|
|
360
382
|
else {
|
|
361
383
|
templateData.label.element.classList.remove('compressed');
|
|
362
384
|
templateData.label.element.style.display = 'none';
|
|
385
|
+
templateData.contribs.forEach(c => c.setResource(undefined));
|
|
363
386
|
templateData.elementDisposables.add(this.renderInputBox(templateData.container, editable[0], editableData));
|
|
364
387
|
}
|
|
365
388
|
}
|
|
@@ -375,6 +398,7 @@ let FilesRenderer = class FilesRenderer {
|
|
|
375
398
|
const themeIsUnhappyWithNesting = theme.hasFileIcons && (theme.hidesExplorerArrows || !theme.hasFolderIcons);
|
|
376
399
|
const realignNestedChildren = stat.nestedParent && themeIsUnhappyWithNesting;
|
|
377
400
|
const experimentalHover = this.configurationService.getValue('explorer.experimental.hover');
|
|
401
|
+
templateData.contribs.forEach(c => c.setResource(stat.resource));
|
|
378
402
|
templateData.label.setResource({ resource: stat.resource, name: label }, {
|
|
379
403
|
title: experimentalHover ? isStringArray(label) ? label[0] : label : undefined,
|
|
380
404
|
fileKind: stat.isRoot ? FileKind.ROOT_FOLDER : stat.isDirectory ? FileKind.FOLDER : FileKind.FILE,
|
|
@@ -492,13 +516,14 @@ let FilesRenderer = class FilesRenderer {
|
|
|
492
516
|
dom.addDisposableListener(inputBox.inputElement, dom.EventType.BLUR, async () => {
|
|
493
517
|
while (true) {
|
|
494
518
|
await timeout(0);
|
|
495
|
-
|
|
519
|
+
const ownerDocument = inputBox.inputElement.ownerDocument;
|
|
520
|
+
if (!ownerDocument.hasFocus()) {
|
|
496
521
|
break;
|
|
497
522
|
}
|
|
498
|
-
if (
|
|
523
|
+
if (dom.isActiveElement(inputBox.inputElement)) {
|
|
499
524
|
return;
|
|
500
525
|
}
|
|
501
|
-
else if (
|
|
526
|
+
else if (ownerDocument.activeElement instanceof HTMLElement && dom.hasParentWithClass(ownerDocument.activeElement, 'context-view')) {
|
|
502
527
|
await Event.toPromise(this.contextMenuService.onDidHideContextMenu);
|
|
503
528
|
}
|
|
504
529
|
else {
|
|
@@ -543,8 +568,7 @@ let FilesRenderer = class FilesRenderer {
|
|
|
543
568
|
return depth;
|
|
544
569
|
}
|
|
545
570
|
getActiveDescendantId(stat) {
|
|
546
|
-
|
|
547
|
-
return compressedNavigationController?.currentId;
|
|
571
|
+
return this.compressedNavigationControllers.get(stat)?.[0]?.currentId ?? undefined;
|
|
548
572
|
}
|
|
549
573
|
dispose() {
|
|
550
574
|
this.configListener.dispose();
|
|
@@ -558,7 +582,8 @@ FilesRenderer = FilesRenderer_1 = ( __decorate([
|
|
|
558
582
|
( __param(7, ILabelService)),
|
|
559
583
|
( __param(8, IWorkspaceContextService)),
|
|
560
584
|
( __param(9, IContextMenuService)),
|
|
561
|
-
( __param(10, IHoverService))
|
|
585
|
+
( __param(10, IHoverService)),
|
|
586
|
+
( __param(11, IInstantiationService))
|
|
562
587
|
], FilesRenderer));
|
|
563
588
|
let FilesFilter = class FilesFilter {
|
|
564
589
|
constructor(contextService, configurationService, explorerService, editorService, uriIdentityService, fileService) {
|
|
@@ -985,9 +1010,9 @@ let FileDragAndDrop = class FileDragAndDrop {
|
|
|
985
1010
|
}
|
|
986
1011
|
try {
|
|
987
1012
|
if (data instanceof NativeDragAndDropData) {
|
|
988
|
-
if (!isWeb || (isTemporaryWorkspace(this.contextService.getWorkspace()) && WebFileSystemAccess.supported(
|
|
1013
|
+
if (!isWeb || (isTemporaryWorkspace(this.contextService.getWorkspace()) && WebFileSystemAccess.supported(mainWindow))) {
|
|
989
1014
|
const fileImport = this.instantiationService.createInstance(ExternalFileImport);
|
|
990
|
-
await fileImport.import(resolvedTarget, originalEvent);
|
|
1015
|
+
await fileImport.import(resolvedTarget, originalEvent, mainWindow);
|
|
991
1016
|
}
|
|
992
1017
|
else {
|
|
993
1018
|
const browserUpload = this.instantiationService.createInstance(BrowserFileUpload);
|
|
@@ -1189,7 +1214,7 @@ let FileDragAndDrop = class FileDragAndDrop {
|
|
|
1189
1214
|
return data.elements;
|
|
1190
1215
|
}
|
|
1191
1216
|
static getCompressedStatFromDragEvent(stat, dragEvent) {
|
|
1192
|
-
const target = document.elementFromPoint(dragEvent.clientX, dragEvent.clientY);
|
|
1217
|
+
const target = dom.getWindow(dragEvent).document.elementFromPoint(dragEvent.clientX, dragEvent.clientY);
|
|
1193
1218
|
const iconLabelName = getIconLabelNameFromHTMLElement(target);
|
|
1194
1219
|
if (iconLabelName) {
|
|
1195
1220
|
const { count, index } = iconLabelName;
|
|
@@ -12,8 +12,8 @@ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/com
|
|
|
12
12
|
import { preventEditorClose, EditorResourceAccessor, SideBySideEditor, EditorCloseMethod } from '../../../../common/editor.js';
|
|
13
13
|
import { SaveAllInGroupAction, CloseGroupAction } from '../fileActions.js';
|
|
14
14
|
import { OpenEditor, OpenEditorsFocusedContext, ExplorerFocusedContext } from '../../common/files.js';
|
|
15
|
-
import { CloseEditorAction, UnpinEditorAction } from '../../../../browser/parts/editor/editorActions.js';
|
|
16
|
-
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
15
|
+
import { CloseEditorAction, UnpinEditorAction, CloseAllEditorsAction } from '../../../../browser/parts/editor/editorActions.js';
|
|
16
|
+
import { ContextKeyExpr, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
17
17
|
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
18
18
|
import { asCssVariable, badgeBackground, badgeForeground, contrastBorder } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
|
19
19
|
import { WorkbenchList } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
|
|
@@ -21,9 +21,9 @@ import { ResourceLabels } from '../../../../browser/labels.js';
|
|
|
21
21
|
import { ActionBar } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js';
|
|
22
22
|
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
23
23
|
import { dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
24
|
-
import { MenuId, MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
25
|
-
import { OpenEditorsGroupContext, OpenEditorsDirtyEditorContext, OpenEditorsReadonlyEditorContext } from '../fileConstants.js';
|
|
26
|
-
import { ResourceContextKey } from '../../../../common/contextkeys.js';
|
|
24
|
+
import { MenuId, registerAction2, Action2, MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
25
|
+
import { OpenEditorsGroupContext, OpenEditorsDirtyEditorContext, OpenEditorsReadonlyEditorContext, SAVE_ALL_LABEL, SAVE_ALL_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID } from '../fileConstants.js';
|
|
26
|
+
import { ResourceContextKey, MultipleEditorGroupsContext } from '../../../../common/contextkeys.js';
|
|
27
27
|
import { containsDragType, CodeDataTransfers } from 'monaco-editor/esm/vs/platform/dnd/browser/dnd.js';
|
|
28
28
|
import { ResourcesDropHandler, fillEditorsDragData } from '../../../../browser/dnd.js';
|
|
29
29
|
import { ViewPane } from '../../../../browser/parts/views/viewPane.js';
|
|
@@ -35,8 +35,11 @@ import { IFilesConfigurationService } from '../../../../services/filesConfigurat
|
|
|
35
35
|
import { IViewDescriptorService } from '../../../../common/views.js';
|
|
36
36
|
import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
|
|
37
37
|
import { compareFileNamesDefault } from 'monaco-editor/esm/vs/base/common/comparers.js';
|
|
38
|
+
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
39
|
+
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
38
40
|
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
39
41
|
import { extUriIgnorePathCase } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
42
|
+
import { mainWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
|
|
40
43
|
var OpenEditorsView_1;
|
|
41
44
|
const $ = dom.$;
|
|
42
45
|
let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
@@ -44,7 +47,7 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
44
47
|
static { this.DEFAULT_VISIBLE_OPEN_EDITORS = 9; }
|
|
45
48
|
static { this.DEFAULT_MIN_VISIBLE_OPEN_EDITORS = 0; }
|
|
46
49
|
static { this.ID = 'workbench.explorer.openEditorsView'; }
|
|
47
|
-
static { this.NAME = ( nls.
|
|
50
|
+
static { this.NAME = ( nls.localize2WithPath(
|
|
48
51
|
'vs/workbench/contrib/files/browser/views/openEditorsView',
|
|
49
52
|
{ key: 'openEditors', comment: ['Open is an adjective'] },
|
|
50
53
|
"Open Editors"
|
|
@@ -56,6 +59,7 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
56
59
|
this.filesConfigurationService = filesConfigurationService;
|
|
57
60
|
this.needsRefresh = false;
|
|
58
61
|
this.elements = [];
|
|
62
|
+
this.blockFocusActiveEditorTracking = false;
|
|
59
63
|
this.structuralRefreshDelay = 0;
|
|
60
64
|
this.sortOrder = configurationService.getValue('explorer.openEditors.sortOrder');
|
|
61
65
|
this.registerUpdateEvents();
|
|
@@ -82,26 +86,26 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
82
86
|
}
|
|
83
87
|
const index = this.getIndex(group, e.editor);
|
|
84
88
|
switch (e.kind) {
|
|
85
|
-
case
|
|
86
|
-
case 0 :
|
|
89
|
+
case 7 :
|
|
87
90
|
this.focusActiveEditor();
|
|
88
91
|
break;
|
|
89
92
|
case 1 :
|
|
93
|
+
case 2 :
|
|
90
94
|
if (index >= 0) {
|
|
91
95
|
this.list.splice(index, 1, [group]);
|
|
92
96
|
}
|
|
93
97
|
break;
|
|
98
|
+
case 12 :
|
|
94
99
|
case 11 :
|
|
100
|
+
case 9 :
|
|
95
101
|
case 10 :
|
|
96
102
|
case 8 :
|
|
97
|
-
case 9 :
|
|
98
|
-
case 7 :
|
|
99
103
|
this.list.splice(index, 1, [( new OpenEditor(e.editor, group))]);
|
|
100
104
|
this.focusActiveEditor();
|
|
101
105
|
break;
|
|
102
|
-
case 3 :
|
|
103
|
-
case 5 :
|
|
104
106
|
case 4 :
|
|
107
|
+
case 6 :
|
|
108
|
+
case 5 :
|
|
105
109
|
updateWholeList();
|
|
106
110
|
break;
|
|
107
111
|
}
|
|
@@ -115,6 +119,7 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
115
119
|
updateWholeList();
|
|
116
120
|
}));
|
|
117
121
|
this._register(this.editorGroupService.onDidMoveGroup(() => updateWholeList()));
|
|
122
|
+
this._register(this.editorGroupService.onDidChangeActiveGroup(() => this.focusActiveEditor()));
|
|
118
123
|
this._register(this.editorGroupService.onDidRemoveGroup(group => {
|
|
119
124
|
dispose(groupDisposables.get(group.id));
|
|
120
125
|
updateWholeList();
|
|
@@ -215,17 +220,25 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
215
220
|
}
|
|
216
221
|
}));
|
|
217
222
|
this._register(this.list.onDidOpen(e => {
|
|
218
|
-
|
|
223
|
+
const element = e.element;
|
|
224
|
+
if (!element) {
|
|
219
225
|
return;
|
|
220
226
|
}
|
|
221
|
-
else if (
|
|
222
|
-
if (e.browserEvent
|
|
227
|
+
else if (element instanceof OpenEditor) {
|
|
228
|
+
if (dom.isMouseEvent(e.browserEvent) && e.browserEvent.button === 1) {
|
|
223
229
|
return;
|
|
224
230
|
}
|
|
225
|
-
this.
|
|
231
|
+
this.withActiveEditorFocusTrackingDisabled(() => {
|
|
232
|
+
this.openEditor(element, { preserveFocus: e.editorOptions.preserveFocus, pinned: e.editorOptions.pinned, sideBySide: e.sideBySide });
|
|
233
|
+
});
|
|
226
234
|
}
|
|
227
235
|
else {
|
|
228
|
-
this.
|
|
236
|
+
this.withActiveEditorFocusTrackingDisabled(() => {
|
|
237
|
+
this.editorGroupService.activateGroup(element);
|
|
238
|
+
if (!e.editorOptions.preserveFocus) {
|
|
239
|
+
element.focus();
|
|
240
|
+
}
|
|
241
|
+
});
|
|
229
242
|
}
|
|
230
243
|
}));
|
|
231
244
|
this.listRefreshScheduler.schedule(0);
|
|
@@ -241,10 +254,7 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
241
254
|
}
|
|
242
255
|
focus() {
|
|
243
256
|
super.focus();
|
|
244
|
-
this.list
|
|
245
|
-
}
|
|
246
|
-
getList() {
|
|
247
|
-
return this.list;
|
|
257
|
+
this.list?.domFocus();
|
|
248
258
|
}
|
|
249
259
|
layoutBody(height, width) {
|
|
250
260
|
super.layoutBody(height, width);
|
|
@@ -311,7 +321,7 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
311
321
|
if (!preserveActivateGroup) {
|
|
312
322
|
this.editorGroupService.activateGroup(element.group);
|
|
313
323
|
}
|
|
314
|
-
const targetGroup = options.sideBySide ? this.editorGroupService.sideGroup :
|
|
324
|
+
const targetGroup = options.sideBySide ? this.editorGroupService.sideGroup : element.group;
|
|
315
325
|
targetGroup.openEditor(element.editor, options);
|
|
316
326
|
}
|
|
317
327
|
}
|
|
@@ -323,12 +333,24 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
323
333
|
this.contextMenuService.showContextMenu({
|
|
324
334
|
menuId: MenuId.OpenEditorsContext,
|
|
325
335
|
menuActionOptions: { shouldForwardArgs: true, arg: element instanceof OpenEditor ? EditorResourceAccessor.getOriginalUri(element.editor) : {} },
|
|
326
|
-
contextKeyService: this.list
|
|
336
|
+
contextKeyService: this.list?.contextKeyService,
|
|
327
337
|
getAnchor: () => e.anchor,
|
|
328
338
|
getActionsContext: () => element instanceof OpenEditor ? { groupId: element.groupId, editorIndex: element.group.getIndexOfEditor(element.editor) } : { groupId: element.id }
|
|
329
339
|
});
|
|
330
340
|
}
|
|
341
|
+
withActiveEditorFocusTrackingDisabled(fn) {
|
|
342
|
+
this.blockFocusActiveEditorTracking = true;
|
|
343
|
+
try {
|
|
344
|
+
fn();
|
|
345
|
+
}
|
|
346
|
+
finally {
|
|
347
|
+
this.blockFocusActiveEditorTracking = false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
331
350
|
focusActiveEditor() {
|
|
351
|
+
if (!this.list || this.blockFocusActiveEditorTracking) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
332
354
|
if (this.list.length && this.editorGroupService.activeGroup) {
|
|
333
355
|
const index = this.getIndex(this.editorGroupService.activeGroup, this.editorGroupService.activeGroup.activeEditor);
|
|
334
356
|
if (index >= 0) {
|
|
@@ -409,6 +431,9 @@ let OpenEditorsView = class OpenEditorsView extends ViewPane {
|
|
|
409
431
|
this.structuralRefreshDelay = delay;
|
|
410
432
|
}
|
|
411
433
|
getOptimalWidth() {
|
|
434
|
+
if (!this.list) {
|
|
435
|
+
return super.getOptimalWidth();
|
|
436
|
+
}
|
|
412
437
|
const parentNode = this.list.getHTMLElement();
|
|
413
438
|
const childNodes = [].slice.call(parentNode.querySelectorAll('.open-editor > a'));
|
|
414
439
|
return dom.getLargestChildWidth(parentNode, childNodes);
|
|
@@ -584,7 +609,7 @@ class OpenEditorsDragAndDrop {
|
|
|
584
609
|
this.editorGroupService.activateGroup(group);
|
|
585
610
|
}
|
|
586
611
|
else {
|
|
587
|
-
this.dropHandler.handleDrop(originalEvent, () => group, () => group.focus(), { index });
|
|
612
|
+
this.dropHandler.handleDrop(originalEvent, mainWindow, () => group, () => group.focus(), { index });
|
|
588
613
|
}
|
|
589
614
|
}
|
|
590
615
|
dispose() { }
|
|
@@ -608,8 +633,38 @@ class OpenEditorsAccessibilityProvider {
|
|
|
608
633
|
}
|
|
609
634
|
}
|
|
610
635
|
const toggleEditorGroupLayoutId = 'workbench.action.toggleEditorGroupLayout';
|
|
636
|
+
registerAction2(class extends Action2 {
|
|
637
|
+
constructor() {
|
|
638
|
+
super({
|
|
639
|
+
id: 'workbench.action.toggleEditorGroupLayout',
|
|
640
|
+
title: { value: ( nls.localizeWithPath(
|
|
641
|
+
'vs/workbench/contrib/files/browser/views/openEditorsView',
|
|
642
|
+
'flipLayout',
|
|
643
|
+
"Toggle Vertical/Horizontal Editor Layout"
|
|
644
|
+
)), original: 'Toggle Vertical/Horizontal Editor Layout' },
|
|
645
|
+
f1: true,
|
|
646
|
+
keybinding: {
|
|
647
|
+
primary: 1024 | 512 | 21 ,
|
|
648
|
+
mac: { primary: 2048 | 512 | 21 },
|
|
649
|
+
weight: 200
|
|
650
|
+
},
|
|
651
|
+
icon: Codicon.editorLayout,
|
|
652
|
+
menu: {
|
|
653
|
+
id: MenuId.ViewTitle,
|
|
654
|
+
group: 'navigation',
|
|
655
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', OpenEditorsView.ID)), MultipleEditorGroupsContext)),
|
|
656
|
+
order: 10
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
async run(accessor) {
|
|
661
|
+
const editorGroupService = accessor.get(IEditorGroupsService);
|
|
662
|
+
const newOrientation = ((editorGroupService.orientation === 1) ) ? 0 : 1 ;
|
|
663
|
+
editorGroupService.setGroupOrientation(newOrientation);
|
|
664
|
+
}
|
|
665
|
+
});
|
|
611
666
|
MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
|
|
612
|
-
group: '
|
|
667
|
+
group: '5_flip',
|
|
613
668
|
command: {
|
|
614
669
|
id: toggleEditorGroupLayoutId,
|
|
615
670
|
title: {
|
|
@@ -628,4 +683,69 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
|
|
|
628
683
|
},
|
|
629
684
|
order: 1
|
|
630
685
|
});
|
|
686
|
+
registerAction2(class extends Action2 {
|
|
687
|
+
constructor() {
|
|
688
|
+
super({
|
|
689
|
+
id: 'workbench.action.files.saveAll',
|
|
690
|
+
title: { value: SAVE_ALL_LABEL, original: 'Save All' },
|
|
691
|
+
f1: true,
|
|
692
|
+
icon: Codicon.saveAll,
|
|
693
|
+
menu: {
|
|
694
|
+
id: MenuId.ViewTitle,
|
|
695
|
+
group: 'navigation',
|
|
696
|
+
when: ( ContextKeyExpr.equals('view', OpenEditorsView.ID)),
|
|
697
|
+
order: 20
|
|
698
|
+
}
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
async run(accessor) {
|
|
702
|
+
const commandService = accessor.get(ICommandService);
|
|
703
|
+
await commandService.executeCommand(SAVE_ALL_COMMAND_ID);
|
|
704
|
+
}
|
|
705
|
+
});
|
|
706
|
+
registerAction2(class extends Action2 {
|
|
707
|
+
constructor() {
|
|
708
|
+
super({
|
|
709
|
+
id: 'openEditors.closeAll',
|
|
710
|
+
title: CloseAllEditorsAction.LABEL,
|
|
711
|
+
f1: false,
|
|
712
|
+
icon: Codicon.closeAll,
|
|
713
|
+
menu: {
|
|
714
|
+
id: MenuId.ViewTitle,
|
|
715
|
+
group: 'navigation',
|
|
716
|
+
when: ( ContextKeyExpr.equals('view', OpenEditorsView.ID)),
|
|
717
|
+
order: 30
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
}
|
|
721
|
+
async run(accessor) {
|
|
722
|
+
const instantiationService = accessor.get(IInstantiationService);
|
|
723
|
+
const closeAll = ( new CloseAllEditorsAction());
|
|
724
|
+
await instantiationService.invokeFunction(accessor => closeAll.run(accessor));
|
|
725
|
+
}
|
|
726
|
+
});
|
|
727
|
+
registerAction2(class extends Action2 {
|
|
728
|
+
constructor() {
|
|
729
|
+
super({
|
|
730
|
+
id: 'openEditors.newUntitledFile',
|
|
731
|
+
title: { value: ( nls.localizeWithPath(
|
|
732
|
+
'vs/workbench/contrib/files/browser/views/openEditorsView',
|
|
733
|
+
'newUntitledFile',
|
|
734
|
+
"New Untitled Text File"
|
|
735
|
+
)), original: 'New Untitled Text File' },
|
|
736
|
+
f1: false,
|
|
737
|
+
icon: Codicon.newFile,
|
|
738
|
+
menu: {
|
|
739
|
+
id: MenuId.ViewTitle,
|
|
740
|
+
group: 'navigation',
|
|
741
|
+
when: ( ContextKeyExpr.equals('view', OpenEditorsView.ID)),
|
|
742
|
+
order: 5
|
|
743
|
+
}
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
async run(accessor) {
|
|
747
|
+
const commandService = accessor.get(ICommandService);
|
|
748
|
+
await commandService.executeCommand(NEW_UNTITLED_FILE_COMMAND_ID);
|
|
749
|
+
}
|
|
750
|
+
});
|
|
631
751
|
export { OpenEditorsView };
|