@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { OS, isWindows } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
4
|
-
import { extname, basename } from 'monaco-editor/esm/vs/base/common/path.js';
|
|
4
|
+
import { extname, basename, isAbsolute } from 'monaco-editor/esm/vs/base/common/path.js';
|
|
5
5
|
import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
6
6
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
7
7
|
import { toErrorMessage } from 'monaco-editor/esm/vs/base/common/errorMessage.js';
|
|
@@ -594,17 +594,21 @@ class GlobalCompareResourcesAction extends Action2 {
|
|
|
594
594
|
}
|
|
595
595
|
class ToggleAutoSaveAction extends Action2 {
|
|
596
596
|
static { this.ID = 'workbench.action.toggleAutoSave'; }
|
|
597
|
-
static { this.LABEL = ( nls.localizeWithPath(
|
|
598
|
-
'vs/workbench/contrib/files/browser/fileActions',
|
|
599
|
-
'toggleAutoSave',
|
|
600
|
-
"Toggle Auto Save"
|
|
601
|
-
)); }
|
|
602
597
|
constructor() {
|
|
603
598
|
super({
|
|
604
599
|
id: ToggleAutoSaveAction.ID,
|
|
605
|
-
title:
|
|
600
|
+
title: ( nls.localize2WithPath(
|
|
601
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
602
|
+
'toggleAutoSave',
|
|
603
|
+
"Toggle Auto Save"
|
|
604
|
+
)),
|
|
606
605
|
f1: true,
|
|
607
|
-
category: Categories.File
|
|
606
|
+
category: Categories.File,
|
|
607
|
+
metadata: { description: ( nls.localize2WithPath(
|
|
608
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
609
|
+
'toggleAutoSaveDescription',
|
|
610
|
+
"Toggle the ability to save files automatically after typing"
|
|
611
|
+
)) }
|
|
608
612
|
});
|
|
609
613
|
}
|
|
610
614
|
run(accessor) {
|
|
@@ -1148,7 +1152,7 @@ CommandsRegistry.registerCommand({
|
|
|
1148
1152
|
id: UPLOAD_COMMAND_ID,
|
|
1149
1153
|
handler: uploadFileHandler
|
|
1150
1154
|
});
|
|
1151
|
-
const pasteFileHandler = async (accessor) => {
|
|
1155
|
+
const pasteFileHandler = async (accessor, fileList) => {
|
|
1152
1156
|
const clipboardService = accessor.get(IClipboardService);
|
|
1153
1157
|
const explorerService = accessor.get(IExplorerService);
|
|
1154
1158
|
const fileService = accessor.get(IFileService);
|
|
@@ -1158,7 +1162,47 @@ const pasteFileHandler = async (accessor) => {
|
|
|
1158
1162
|
const uriIdentityService = accessor.get(IUriIdentityService);
|
|
1159
1163
|
const dialogService = accessor.get(IDialogService);
|
|
1160
1164
|
const context = explorerService.getContext(true);
|
|
1161
|
-
const
|
|
1165
|
+
const hasNativeFilesToPaste = fileList && fileList.length > 0;
|
|
1166
|
+
const confirmPasteNative = hasNativeFilesToPaste && configurationService.getValue('explorer.confirmPasteNative');
|
|
1167
|
+
const toPaste = await getFilesToPaste(fileList, clipboardService);
|
|
1168
|
+
if (confirmPasteNative) {
|
|
1169
|
+
const message = toPaste.length > 1 ?
|
|
1170
|
+
( nls.localizeWithPath(
|
|
1171
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
1172
|
+
'confirmMultiPasteNative',
|
|
1173
|
+
"Are you sure you want to paste the following {0} items?",
|
|
1174
|
+
toPaste.length
|
|
1175
|
+
)) :
|
|
1176
|
+
( nls.localizeWithPath(
|
|
1177
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
1178
|
+
'confirmPasteNative',
|
|
1179
|
+
"Are you sure you want to paste '{0}'?",
|
|
1180
|
+
basename(toPaste[0].fsPath)
|
|
1181
|
+
));
|
|
1182
|
+
const detail = toPaste.length > 1 ? getFileNamesMessage(toPaste) : undefined;
|
|
1183
|
+
const confirmation = await dialogService.confirm({
|
|
1184
|
+
message,
|
|
1185
|
+
detail,
|
|
1186
|
+
checkbox: {
|
|
1187
|
+
label: ( nls.localizeWithPath(
|
|
1188
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
1189
|
+
'doNotAskAgain',
|
|
1190
|
+
"Do not ask me again"
|
|
1191
|
+
))
|
|
1192
|
+
},
|
|
1193
|
+
primaryButton: ( nls.localizeWithPath(
|
|
1194
|
+
'vs/workbench/contrib/files/browser/fileActions',
|
|
1195
|
+
{ key: 'pasteButtonLabel', comment: ['&& denotes a mnemonic'] },
|
|
1196
|
+
"&&Paste"
|
|
1197
|
+
))
|
|
1198
|
+
});
|
|
1199
|
+
if (!confirmation.confirmed) {
|
|
1200
|
+
return;
|
|
1201
|
+
}
|
|
1202
|
+
if (confirmation.checkboxChecked === true) {
|
|
1203
|
+
await configurationService.updateValue('explorer.confirmPasteNative', false);
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1162
1206
|
const element = context.length ? context[0] : explorerService.roots[0];
|
|
1163
1207
|
const incrementalNaming = configurationService.getValue().explorer.incrementalNaming;
|
|
1164
1208
|
try {
|
|
@@ -1273,6 +1317,14 @@ const pasteFileHandler = async (accessor) => {
|
|
|
1273
1317
|
}
|
|
1274
1318
|
}
|
|
1275
1319
|
};
|
|
1320
|
+
async function getFilesToPaste(fileList, clipboardService) {
|
|
1321
|
+
if (fileList && fileList.length > 0) {
|
|
1322
|
+
return ( [...fileList].filter(file => !!file.path && isAbsolute(file.path)).map(file => URI.file(file.path)));
|
|
1323
|
+
}
|
|
1324
|
+
else {
|
|
1325
|
+
return resources.distinctParents(await clipboardService.readResources(), resource => resource);
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1276
1328
|
const openFilePreserveFocusHandler = async (accessor) => {
|
|
1277
1329
|
const editorService = accessor.get(IEditorService);
|
|
1278
1330
|
const explorerService = accessor.get(IExplorerService);
|
|
@@ -21,6 +21,7 @@ const SAVE_FILE_WITHOUT_FORMATTING_LABEL = ( nls.localizeWithPath(
|
|
|
21
21
|
"Save without Formatting"
|
|
22
22
|
));
|
|
23
23
|
const SAVE_ALL_COMMAND_ID = 'saveAll';
|
|
24
|
+
const SAVE_ALL_LABEL = ( nls.localizeWithPath('vs/workbench/contrib/files/browser/fileConstants', 'saveAll', "Save All"));
|
|
24
25
|
const SAVE_ALL_IN_GROUP_COMMAND_ID = 'workbench.files.action.saveAllInGroup';
|
|
25
26
|
const SAVE_FILES_COMMAND_ID = 'workbench.action.files.saveFiles';
|
|
26
27
|
const OpenEditorsGroupContext = ( new RawContextKey('groupFocusedInOpenEditors', false));
|
|
@@ -44,4 +45,4 @@ const NEW_UNTITLED_FILE_LABEL = ( nls.localizeWithPath(
|
|
|
44
45
|
"New Untitled Text File"
|
|
45
46
|
));
|
|
46
47
|
const NEW_FILE_COMMAND_ID = 'workbench.action.files.newFile';
|
|
47
|
-
export { COMPARE_RESOURCE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, FIRST_COMPRESSED_FOLDER, LAST_COMPRESSED_FOLDER, NEW_FILE_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, NEXT_COMPRESSED_FOLDER, OPEN_TO_SIDE_COMMAND_ID, OPEN_WITH_EXPLORER_COMMAND_ID, OpenEditorsDirtyEditorContext, OpenEditorsGroupContext, OpenEditorsReadonlyEditorContext, PREVIOUS_COMPRESSED_FOLDER, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, REVEAL_IN_EXPLORER_COMMAND_ID, REVERT_FILE_COMMAND_ID, ResourceSelectedForCompareContext, SAVE_ALL_COMMAND_ID, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_FILES_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SELECT_FOR_COMPARE_COMMAND_ID };
|
|
48
|
+
export { COMPARE_RESOURCE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, FIRST_COMPRESSED_FOLDER, LAST_COMPRESSED_FOLDER, NEW_FILE_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, NEXT_COMPRESSED_FOLDER, OPEN_TO_SIDE_COMMAND_ID, OPEN_WITH_EXPLORER_COMMAND_ID, OpenEditorsDirtyEditorContext, OpenEditorsGroupContext, OpenEditorsReadonlyEditorContext, PREVIOUS_COMPRESSED_FOLDER, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, REVEAL_IN_EXPLORER_COMMAND_ID, REVERT_FILE_COMMAND_ID, ResourceSelectedForCompareContext, SAVE_ALL_COMMAND_ID, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_ALL_LABEL, SAVE_FILES_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SELECT_FOR_COMPARE_COMMAND_ID };
|
|
@@ -19,7 +19,7 @@ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspac
|
|
|
19
19
|
import { extractEditorsAndFilesDropData } from 'monaco-editor/esm/vs/platform/dnd/browser/dnd.js';
|
|
20
20
|
import { IWorkspaceEditingService } from '../../../services/workspaces/common/workspaceEditing.js';
|
|
21
21
|
import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
22
|
-
import { triggerDownload } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
22
|
+
import { isDragEvent, getActiveWindow, triggerDownload } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
23
23
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
24
24
|
import { FileAccess, Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
25
25
|
import { mnemonicButtonLabel } from 'monaco-editor/esm/vs/base/common/labels.js';
|
|
@@ -60,7 +60,7 @@ let BrowserFileUpload = class BrowserFileUpload {
|
|
|
60
60
|
return uploadPromise;
|
|
61
61
|
}
|
|
62
62
|
toTransfer(source) {
|
|
63
|
-
if (source
|
|
63
|
+
if (isDragEvent(source)) {
|
|
64
64
|
return source.dataTransfer;
|
|
65
65
|
}
|
|
66
66
|
const transfer = { items: [] };
|
|
@@ -306,7 +306,7 @@ let ExternalFileImport = class ExternalFileImport {
|
|
|
306
306
|
this.notificationService = notificationService;
|
|
307
307
|
this.instantiationService = instantiationService;
|
|
308
308
|
}
|
|
309
|
-
async import(target, source) {
|
|
309
|
+
async import(target, source, targetWindow) {
|
|
310
310
|
const cts = ( new CancellationTokenSource());
|
|
311
311
|
const importPromise = this.progressService.withProgress({
|
|
312
312
|
location: 10 ,
|
|
@@ -317,11 +317,11 @@ let ExternalFileImport = class ExternalFileImport {
|
|
|
317
317
|
'copyingFiles',
|
|
318
318
|
"Copying..."
|
|
319
319
|
))
|
|
320
|
-
}, async () => await this.doImport(target, source, cts.token), () => cts.dispose(true));
|
|
320
|
+
}, async () => await this.doImport(target, source, targetWindow, cts.token), () => cts.dispose(true));
|
|
321
321
|
this.progressService.withProgress({ location: VIEW_ID, delay: 500 }, () => importPromise);
|
|
322
322
|
return importPromise;
|
|
323
323
|
}
|
|
324
|
-
async doImport(target, source, token) {
|
|
324
|
+
async doImport(target, source, targetWindow, token) {
|
|
325
325
|
const candidateFiles = coalesce(( (await this.instantiationService.invokeFunction(accessor => extractEditorsAndFilesDropData(accessor, source))).map(editor => editor.resource)));
|
|
326
326
|
await Promise.all(( candidateFiles.map(resource => this.fileService.activateProvider(resource.scheme))));
|
|
327
327
|
const files = coalesce(candidateFiles.filter(resource => this.fileService.hasProvider(resource)));
|
|
@@ -329,7 +329,7 @@ let ExternalFileImport = class ExternalFileImport {
|
|
|
329
329
|
if (token.isCancellationRequested) {
|
|
330
330
|
return;
|
|
331
331
|
}
|
|
332
|
-
this.hostService.focus();
|
|
332
|
+
this.hostService.focus(targetWindow);
|
|
333
333
|
const folders = ( resolvedFiles.filter(resolvedFile => resolvedFile.success && resolvedFile.stat?.isDirectory).map(resolvedFile => ({ uri: resolvedFile.stat.resource })));
|
|
334
334
|
if (folders.length > 0 && target.isRoot) {
|
|
335
335
|
let ImportChoice;
|
|
@@ -557,9 +557,10 @@ let FileDownload = class FileDownload {
|
|
|
557
557
|
}
|
|
558
558
|
const maxBlobDownloadSize = 32 * ByteSize.MB;
|
|
559
559
|
const preferFileSystemAccessWebApis = stat.isDirectory || stat.size > maxBlobDownloadSize;
|
|
560
|
-
|
|
560
|
+
const activeWindow = getActiveWindow();
|
|
561
|
+
if (preferFileSystemAccessWebApis && WebFileSystemAccess.supported(activeWindow)) {
|
|
561
562
|
try {
|
|
562
|
-
const parentFolder = await
|
|
563
|
+
const parentFolder = await activeWindow.showDirectoryPicker();
|
|
563
564
|
const operation = {
|
|
564
565
|
startTime: Date.now(),
|
|
565
566
|
progressScheduler: ( new RunOnceWorker(steps => { progress.report(steps[steps.length - 1]); }, 1000)),
|
|
@@ -596,6 +596,15 @@ configurationRegistry.registerConfiguration({
|
|
|
596
596
|
)),
|
|
597
597
|
'default': true
|
|
598
598
|
},
|
|
599
|
+
'explorer.confirmPasteNative': {
|
|
600
|
+
'type': 'boolean',
|
|
601
|
+
'description': ( nls.localizeWithPath(
|
|
602
|
+
'vs/workbench/contrib/files/browser/files.contribution',
|
|
603
|
+
'confirmPasteNative',
|
|
604
|
+
"Controls whether the Explorer should ask for confirmation when pasting native files and folders."
|
|
605
|
+
)),
|
|
606
|
+
'default': true
|
|
607
|
+
},
|
|
599
608
|
'explorer.confirmDelete': {
|
|
600
609
|
'type': 'boolean',
|
|
601
610
|
'description': ( nls.localizeWithPath(
|
|
@@ -765,7 +774,7 @@ configurationRegistry.registerConfiguration({
|
|
|
765
774
|
description: ( nls.localizeWithPath(
|
|
766
775
|
'vs/workbench/contrib/files/browser/files.contribution',
|
|
767
776
|
'explorer.incrementalNaming',
|
|
768
|
-
"Controls
|
|
777
|
+
"Controls which naming strategy to use when giving a new name to a duplicated Explorer item on paste."
|
|
769
778
|
)),
|
|
770
779
|
default: 'simple'
|
|
771
780
|
},
|
|
@@ -39,6 +39,7 @@ interface IExplorerService {
|
|
|
39
39
|
}
|
|
40
40
|
declare const IExplorerService: ServiceIdentifier<IExplorerService>;
|
|
41
41
|
interface IExplorerView {
|
|
42
|
+
autoReveal: boolean | 'force' | 'focusNoScroll';
|
|
42
43
|
getContext(respectMultiSelection: boolean): ExplorerItem[];
|
|
43
44
|
refresh(recursive: boolean, item?: ExplorerItem): Promise<void>;
|
|
44
45
|
selectResource(resource: URI | undefined, reveal?: boolean | string): Promise<void>;
|
|
@@ -6,10 +6,12 @@ import { ExplorerItem } from '../common/explorerModel.js';
|
|
|
6
6
|
import { coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
7
7
|
import { AsyncDataTree } from 'monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js';
|
|
8
8
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
9
|
+
import { isActiveElement } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
9
10
|
const IExplorerService = ( createDecorator('explorerService'));
|
|
10
11
|
function getFocus(listService) {
|
|
11
12
|
const list = listService.lastFocusedList;
|
|
12
|
-
|
|
13
|
+
const element = list?.getHTMLElement();
|
|
14
|
+
if (element && isActiveElement(element)) {
|
|
13
15
|
let focus;
|
|
14
16
|
if (list instanceof List) {
|
|
15
17
|
const focused = list.getFocusedElements();
|
|
@@ -42,7 +44,8 @@ function getResourceForCommand(resource, listService, editorService) {
|
|
|
42
44
|
}
|
|
43
45
|
function getMultiSelectedResources(resource, listService, editorService, explorerService) {
|
|
44
46
|
const list = listService.lastFocusedList;
|
|
45
|
-
|
|
47
|
+
const element = list?.getHTMLElement();
|
|
48
|
+
if (element && isActiveElement(element)) {
|
|
46
49
|
if (list instanceof AsyncDataTree && list.getFocus().every(item => item instanceof ExplorerItem)) {
|
|
47
50
|
const context = explorerService.getContext(true, true);
|
|
48
51
|
if (context.length) {
|
|
@@ -71,7 +74,8 @@ function getMultiSelectedResources(resource, listService, editorService, explore
|
|
|
71
74
|
}
|
|
72
75
|
function getOpenEditorsViewMultiSelection(listService, editorGroupService) {
|
|
73
76
|
const list = listService.lastFocusedList;
|
|
74
|
-
|
|
77
|
+
const element = list?.getHTMLElement();
|
|
78
|
+
if (element && isActiveElement(element)) {
|
|
75
79
|
if (list instanceof List) {
|
|
76
80
|
const selection = coalesce(list.getSelectedElements().filter(s => s instanceof OpenEditor));
|
|
77
81
|
const focusedElements = list.getFocusedElements();
|
|
@@ -15,12 +15,12 @@ import { IViewDescriptorService } from '../../../../common/views.js';
|
|
|
15
15
|
import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
|
|
16
16
|
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
17
17
|
import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
18
|
-
import { DragAndDropObserver } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
18
|
+
import { DragAndDropObserver, getWindow } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
19
19
|
var EmptyView_1;
|
|
20
20
|
let EmptyView = class EmptyView extends ViewPane {
|
|
21
21
|
static { EmptyView_1 = this; }
|
|
22
22
|
static { this.ID = 'workbench.explorer.emptyView'; }
|
|
23
|
-
static { this.NAME = ( nls.
|
|
23
|
+
static { this.NAME = ( nls.localize2WithPath(
|
|
24
24
|
'vs/workbench/contrib/files/browser/views/emptyView',
|
|
25
25
|
'noWorkspace',
|
|
26
26
|
"No Folder Opened"
|
|
@@ -42,7 +42,7 @@ let EmptyView = class EmptyView extends ViewPane {
|
|
|
42
42
|
onDrop: e => {
|
|
43
43
|
container.style.backgroundColor = '';
|
|
44
44
|
const dropHandler = this.instantiationService.createInstance(ResourcesDropHandler, { allowWorkspaceOpen: !isWeb || isTemporaryWorkspace(this.contextService.getWorkspace()) });
|
|
45
|
-
dropHandler.handleDrop(e);
|
|
45
|
+
dropHandler.handleDrop(e, getWindow(container));
|
|
46
46
|
},
|
|
47
47
|
onDragEnter: () => {
|
|
48
48
|
const color = this.themeService.getColorTheme().getColor(listDropBackground);
|
|
@@ -67,7 +67,7 @@ let EmptyView = class EmptyView extends ViewPane {
|
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
if (this.contextService.getWorkbenchState() === 3 ) {
|
|
70
|
-
this.updateTitle(EmptyView_1.NAME);
|
|
70
|
+
this.updateTitle(EmptyView_1.NAME.value);
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
73
|
this.updateTitle(this.title);
|
|
@@ -79,11 +79,13 @@ function getContext(focus, selection, respectMultiSelection, compressedNavigatio
|
|
|
79
79
|
if (respectMultiSelection && selection.length > 1) {
|
|
80
80
|
focusedStat = undefined;
|
|
81
81
|
}
|
|
82
|
-
const
|
|
82
|
+
const compressedNavigationControllers = focusedStat && compressedNavigationControllerProvider.getCompressedNavigationController(focusedStat);
|
|
83
|
+
const compressedNavigationController = compressedNavigationControllers && compressedNavigationControllers.length ? compressedNavigationControllers[0] : undefined;
|
|
83
84
|
focusedStat = compressedNavigationController ? compressedNavigationController.current : focusedStat;
|
|
84
85
|
const selectedStats = [];
|
|
85
86
|
for (const stat of selection) {
|
|
86
|
-
const
|
|
87
|
+
const controllers = compressedNavigationControllerProvider.getCompressedNavigationController(stat);
|
|
88
|
+
const controller = controllers && controllers.length ? controllers[0] : undefined;
|
|
87
89
|
if (controller && focusedStat && controller === compressedNavigationController) {
|
|
88
90
|
if (stat === focusedStat) {
|
|
89
91
|
selectedStats.push(stat);
|
|
@@ -128,7 +130,7 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
128
130
|
this.fileService = fileService;
|
|
129
131
|
this.uriIdentityService = uriIdentityService;
|
|
130
132
|
this.commandService = commandService;
|
|
131
|
-
this.
|
|
133
|
+
this._autoReveal = false;
|
|
132
134
|
this.delegate = options.delegate;
|
|
133
135
|
this.resourceContext = instantiationService.createInstance(ResourceContextKey);
|
|
134
136
|
this._register(this.resourceContext);
|
|
@@ -144,6 +146,12 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
144
146
|
this.viewVisibleContextKey = FoldersViewVisibleContext.bindTo(contextKeyService);
|
|
145
147
|
this.explorerService.registerView(this);
|
|
146
148
|
}
|
|
149
|
+
get autoReveal() {
|
|
150
|
+
return this._autoReveal;
|
|
151
|
+
}
|
|
152
|
+
set autoReveal(autoReveal) {
|
|
153
|
+
this._autoReveal = autoReveal;
|
|
154
|
+
}
|
|
147
155
|
get name() {
|
|
148
156
|
return this.labelService.getWorkspaceLabel(this.contextService.getWorkspace());
|
|
149
157
|
}
|
|
@@ -207,16 +215,23 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
207
215
|
this.selectActiveFile(true);
|
|
208
216
|
}
|
|
209
217
|
}));
|
|
218
|
+
this._register(dom.addDisposableListener(dom.getWindow(this.container), dom.EventType.PASTE, async (event) => {
|
|
219
|
+
if (!this.hasFocus() || this.readonlyContext.get()) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
await this.commandService.executeCommand('filesExplorer.paste', event.clipboardData?.files);
|
|
223
|
+
}));
|
|
210
224
|
}
|
|
211
225
|
focus() {
|
|
226
|
+
super.focus();
|
|
212
227
|
this.tree.domFocus();
|
|
213
228
|
const focused = this.tree.getFocus();
|
|
214
|
-
if (focused.length === 1 && this.
|
|
229
|
+
if (focused.length === 1 && this._autoReveal) {
|
|
215
230
|
this.tree.reveal(focused[0], 0.5);
|
|
216
231
|
}
|
|
217
232
|
}
|
|
218
233
|
hasFocus() {
|
|
219
|
-
return dom.
|
|
234
|
+
return dom.isAncestorOfActiveElement(this.container);
|
|
220
235
|
}
|
|
221
236
|
getContext(respectMultiSelection) {
|
|
222
237
|
return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer);
|
|
@@ -254,8 +269,8 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
254
269
|
this.tree.domFocus();
|
|
255
270
|
}
|
|
256
271
|
}
|
|
257
|
-
selectActiveFile(reveal = this.
|
|
258
|
-
if (this.
|
|
272
|
+
async selectActiveFile(reveal = this._autoReveal) {
|
|
273
|
+
if (this._autoReveal) {
|
|
259
274
|
const activeFile = EditorResourceAccessor.getCanonicalUri(this.editorService.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
|
|
260
275
|
if (activeFile) {
|
|
261
276
|
const focus = this.tree.getFocus();
|
|
@@ -263,7 +278,7 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
263
278
|
if (focus.length === 1 && this.uriIdentityService.extUri.isEqual(focus[0].resource, activeFile) && selection.length === 1 && this.uriIdentityService.extUri.isEqual(selection[0].resource, activeFile)) {
|
|
264
279
|
return;
|
|
265
280
|
}
|
|
266
|
-
this.explorerService.select(activeFile, reveal);
|
|
281
|
+
return this.explorerService.select(activeFile, reveal);
|
|
267
282
|
}
|
|
268
283
|
}
|
|
269
284
|
}
|
|
@@ -339,7 +354,7 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
339
354
|
if (!element) {
|
|
340
355
|
return;
|
|
341
356
|
}
|
|
342
|
-
const shiftDown = e.browserEvent
|
|
357
|
+
const shiftDown = dom.isKeyboardEvent(e.browserEvent) && e.browserEvent.shiftKey;
|
|
343
358
|
if (!shiftDown) {
|
|
344
359
|
if (element.isDirectory || this.explorerService.isEditable(undefined)) {
|
|
345
360
|
return;
|
|
@@ -364,8 +379,8 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
364
379
|
this._register(this.tree.onDidChangeCollapseState(e => {
|
|
365
380
|
const element = e.node.element?.element;
|
|
366
381
|
if (element) {
|
|
367
|
-
const
|
|
368
|
-
|
|
382
|
+
const navigationControllers = this.renderer.getCompressedNavigationController(element instanceof Array ? element[0] : element);
|
|
383
|
+
navigationControllers?.forEach(controller => controller.updateCollapsed(e.node.collapsed));
|
|
369
384
|
}
|
|
370
385
|
this.updateAnyCollapsedContext();
|
|
371
386
|
}));
|
|
@@ -383,7 +398,7 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
383
398
|
onConfigurationUpdated(event) {
|
|
384
399
|
if (!event || event.affectsConfiguration('explorer.autoReveal')) {
|
|
385
400
|
const configuration = this.configurationService.getValue();
|
|
386
|
-
this.
|
|
401
|
+
this._autoReveal = configuration?.explorer?.autoReveal;
|
|
387
402
|
}
|
|
388
403
|
if (event && (event.affectsConfiguration('explorer.decorations.colors') || event.affectsConfiguration('explorer.decorations.badges'))) {
|
|
389
404
|
this.refresh(true);
|
|
@@ -414,15 +429,15 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
414
429
|
}
|
|
415
430
|
const stat = e.element;
|
|
416
431
|
let anchor = e.anchor;
|
|
417
|
-
if (
|
|
432
|
+
if (anchor instanceof HTMLElement) {
|
|
418
433
|
if (stat) {
|
|
419
|
-
const
|
|
420
|
-
if (
|
|
421
|
-
if (e.browserEvent
|
|
422
|
-
anchor =
|
|
434
|
+
const controllers = this.renderer.getCompressedNavigationController(stat);
|
|
435
|
+
if (controllers && controllers.length > 0) {
|
|
436
|
+
if (dom.isKeyboardEvent(e.browserEvent) || isCompressedFolderName(e.browserEvent.target)) {
|
|
437
|
+
anchor = controllers[0].labels[controllers[0].index];
|
|
423
438
|
}
|
|
424
439
|
else {
|
|
425
|
-
controller.last();
|
|
440
|
+
controllers.forEach(controller => controller.last());
|
|
426
441
|
}
|
|
427
442
|
}
|
|
428
443
|
}
|
|
@@ -433,8 +448,8 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
433
448
|
const roots = this.explorerService.roots;
|
|
434
449
|
let arg;
|
|
435
450
|
if (stat instanceof ExplorerItem) {
|
|
436
|
-
const
|
|
437
|
-
arg =
|
|
451
|
+
const compressedControllers = this.renderer.getCompressedNavigationController(stat);
|
|
452
|
+
arg = compressedControllers && compressedControllers.length ? compressedControllers[0].current.resource : stat.resource;
|
|
438
453
|
}
|
|
439
454
|
else {
|
|
440
455
|
arg = roots.length === 1 ? roots[0].resource : {};
|
|
@@ -465,13 +480,15 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
465
480
|
else {
|
|
466
481
|
this.resourceMoveableToTrash.reset();
|
|
467
482
|
}
|
|
468
|
-
const
|
|
469
|
-
if (!
|
|
483
|
+
const compressedNavigationControllers = stat && this.renderer.getCompressedNavigationController(stat);
|
|
484
|
+
if (!compressedNavigationControllers) {
|
|
470
485
|
this.compressedFocusContext.set(false);
|
|
471
486
|
return;
|
|
472
487
|
}
|
|
473
488
|
this.compressedFocusContext.set(true);
|
|
474
|
-
|
|
489
|
+
compressedNavigationControllers.forEach(controller => {
|
|
490
|
+
this.updateCompressedNavigationContextKeys(controller);
|
|
491
|
+
});
|
|
475
492
|
}
|
|
476
493
|
refresh(recursive, item, cancelEditing = true) {
|
|
477
494
|
if (!this.tree || !this.isBodyVisible() || (item && !this.tree.hasNode(item))) {
|
|
@@ -557,13 +574,16 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
557
574
|
this._register(this.decorationService.registerDecorationsProvider(this.decorationsProvider));
|
|
558
575
|
}
|
|
559
576
|
}
|
|
560
|
-
async selectResource(resource, reveal = this.
|
|
577
|
+
async selectResource(resource, reveal = this._autoReveal, retry = 0) {
|
|
561
578
|
if (retry === 2) {
|
|
562
579
|
return;
|
|
563
580
|
}
|
|
564
581
|
if (!resource || !this.isBodyVisible()) {
|
|
565
582
|
return;
|
|
566
583
|
}
|
|
584
|
+
if (this.setTreeInputPromise) {
|
|
585
|
+
await this.setTreeInputPromise;
|
|
586
|
+
}
|
|
567
587
|
let item = this.explorerService.findClosestRoot(resource);
|
|
568
588
|
while (item && ( item.resource.toString()) !== ( resource.toString())) {
|
|
569
589
|
try {
|
|
@@ -635,36 +655,44 @@ let ExplorerView = class ExplorerView extends ViewPane {
|
|
|
635
655
|
if (!focused.length) {
|
|
636
656
|
return;
|
|
637
657
|
}
|
|
638
|
-
const
|
|
639
|
-
|
|
640
|
-
|
|
658
|
+
const compressedNavigationControllers = this.renderer.getCompressedNavigationController(focused[0]);
|
|
659
|
+
compressedNavigationControllers.forEach(controller => {
|
|
660
|
+
controller.previous();
|
|
661
|
+
this.updateCompressedNavigationContextKeys(controller);
|
|
662
|
+
});
|
|
641
663
|
}
|
|
642
664
|
nextCompressedStat() {
|
|
643
665
|
const focused = this.tree.getFocus();
|
|
644
666
|
if (!focused.length) {
|
|
645
667
|
return;
|
|
646
668
|
}
|
|
647
|
-
const
|
|
648
|
-
|
|
649
|
-
|
|
669
|
+
const compressedNavigationControllers = this.renderer.getCompressedNavigationController(focused[0]);
|
|
670
|
+
compressedNavigationControllers.forEach(controller => {
|
|
671
|
+
controller.next();
|
|
672
|
+
this.updateCompressedNavigationContextKeys(controller);
|
|
673
|
+
});
|
|
650
674
|
}
|
|
651
675
|
firstCompressedStat() {
|
|
652
676
|
const focused = this.tree.getFocus();
|
|
653
677
|
if (!focused.length) {
|
|
654
678
|
return;
|
|
655
679
|
}
|
|
656
|
-
const
|
|
657
|
-
|
|
658
|
-
|
|
680
|
+
const compressedNavigationControllers = this.renderer.getCompressedNavigationController(focused[0]);
|
|
681
|
+
compressedNavigationControllers.forEach(controller => {
|
|
682
|
+
controller.first();
|
|
683
|
+
this.updateCompressedNavigationContextKeys(controller);
|
|
684
|
+
});
|
|
659
685
|
}
|
|
660
686
|
lastCompressedStat() {
|
|
661
687
|
const focused = this.tree.getFocus();
|
|
662
688
|
if (!focused.length) {
|
|
663
689
|
return;
|
|
664
690
|
}
|
|
665
|
-
const
|
|
666
|
-
|
|
667
|
-
|
|
691
|
+
const compressedNavigationControllers = this.renderer.getCompressedNavigationController(focused[0]);
|
|
692
|
+
compressedNavigationControllers.forEach(controller => {
|
|
693
|
+
controller.last();
|
|
694
|
+
this.updateCompressedNavigationContextKeys(controller);
|
|
695
|
+
});
|
|
668
696
|
}
|
|
669
697
|
updateCompressedNavigationContextKeys(controller) {
|
|
670
698
|
this.compressedFocusFirstContext.set(controller.index === 0);
|