@codingame/monaco-vscode-api 1.83.4 → 1.83.6
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/lifecycle.js +3 -1
- package/missing-services.js +32 -28
- package/monaco-editor-treemending.patch +786 -760
- package/monaco.js +1 -0
- package/package.json +1 -1
- package/service-override/extensions.js +5 -5
- package/service-override/files.js +37 -13
- package/service-override/keybindings.js +10 -4
- package/service-override/layout.js +1 -3
- package/services.d.ts +13 -2
- package/services.js +35 -5
- package/vscode/src/vs/base/browser/broadcast.js +52 -0
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +6 -1
- package/vscode/src/vs/base/common/date.js +244 -54
- package/vscode/src/vs/base/common/jsonErrorMessages.js +45 -9
- package/vscode/src/vs/editor/common/services/textResourceConfiguration.d.ts +65 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +33 -5
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +165 -32
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +30 -9
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +0 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +6 -1
- package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +404 -0
- package/vscode/src/vs/platform/files/common/fileService.js +13 -2
- package/vscode/src/vs/platform/files/common/files.js +25 -5
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +15 -3
- package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +38 -7
- package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +7 -1
- package/vscode/src/vs/platform/request/common/request.js +1 -1
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +210 -42
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +73 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +5 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +11 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +70 -35
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +108 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +17 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +7 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +14 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +12 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +6 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +32 -5
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +0 -60
- package/vscode/src/vs/workbench/api/common/extHostChat.js +11 -2
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +12 -2
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +9 -1
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +11 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +10 -2
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +7 -1
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +49 -9
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +397 -274
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +30 -6
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +85 -31
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +56 -102
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -1
- package/vscode/src/vs/workbench/browser/editor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +55 -11
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +63 -11
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +7 -1
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +15 -3
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +205 -41
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +617 -139
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +578 -114
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +96 -20
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +30 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +46 -9
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +30 -5
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +309 -59
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +5 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +5 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +16 -3
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +35 -7
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +185 -33
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +90 -57
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +5 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +16 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +26 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +35 -6
- package/vscode/src/vs/workbench/browser/quickaccess.js +6 -6
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +918 -185
- package/vscode/src/vs/workbench/common/configuration.js +25 -11
- package/vscode/src/vs/workbench/common/contextkeys.js +244 -228
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +7 -1
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +44 -0
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -1
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +6 -1
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/common/editor.d.ts +26 -1
- package/vscode/src/vs/workbench/common/editor.js +26 -5
- package/vscode/src/vs/workbench/common/theme.js +676 -136
- package/vscode/src/vs/workbench/common/views.js +8 -3
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +71 -14
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +21 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +133 -21
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +36 -8
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +96 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +22 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +22 -4
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +41 -8
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +25 -5
- package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +30 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +34 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +44 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +10 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +320 -63
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +12 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +15 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +30 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +25 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +10 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +20 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +10 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +10 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +25 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +30 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +25 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +16 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +8 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +23 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +15 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +18 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +142 -26
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +33 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +45 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +63 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +45 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +16 -8
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +41 -21
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +5 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +60 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +275 -55
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +7 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +255 -94
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +120 -24
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +22 -4
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +21 -4
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +39 -51
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +394 -75
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +17 -6
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +190 -32
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +21 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +26 -5
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +81 -14
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +26 -5
- package/vscode/src/vs/workbench/contrib/files/common/files.js +70 -26
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +11 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +5 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +20 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +75 -111
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +5 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +6 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +151 -29
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +10 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +0 -42
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +115 -23
- package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +17 -3
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +49 -9
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +66 -13
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +52 -10
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +10 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +110 -26
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +21 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +15 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +56 -9
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +25 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +16 -26
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +7 -8
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +20 -4
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +35 -7
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +106 -21
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +81 -21
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +6 -2
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +592 -112
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +5 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +6 -32
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +5 -1
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +5 -1
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +5 -1
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +15 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +58 -10
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +392 -80
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +28 -5
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +10 -2
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +129 -24
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +10 -2
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +20 -10
- package/vscode/src/vs/workbench/services/language/common/languageService.js +122 -22
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +28 -9
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +6 -1
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +48 -9
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -1
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +7 -1
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +6 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +81 -16
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +1 -50
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +126 -25
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -5
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +6 -14
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +6 -1
|
@@ -89,15 +89,19 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
89
89
|
if (this._extensionEnablementService.isEnabled(missingInstalledDependency)) {
|
|
90
90
|
this._notificationService.notify({
|
|
91
91
|
severity: Severity.Error,
|
|
92
|
-
message: localizeWithPath(
|
|
92
|
+
message: ( localizeWithPath(
|
|
93
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
94
|
+
'reload window',
|
|
95
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension, which is not loaded. Would you like to reload the window to load the extension?",
|
|
96
|
+
extName,
|
|
97
|
+
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
98
|
+
)),
|
|
93
99
|
actions: {
|
|
94
|
-
primary: [( new Action(
|
|
100
|
+
primary: [( new Action('reload', ( localizeWithPath(
|
|
101
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
95
102
|
'reload',
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
true,
|
|
99
|
-
() => this._hostService.reload()
|
|
100
|
-
))]
|
|
103
|
+
"Reload Window"
|
|
104
|
+
)), '', true, () => this._hostService.reload()))]
|
|
101
105
|
}
|
|
102
106
|
});
|
|
103
107
|
}
|
|
@@ -106,44 +110,64 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
106
110
|
if (enablementState === 4 ) {
|
|
107
111
|
this._notificationService.notify({
|
|
108
112
|
severity: Severity.Error,
|
|
109
|
-
message: localizeWithPath(
|
|
113
|
+
message: ( localizeWithPath(
|
|
114
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
115
|
+
'notSupportedInWorkspace',
|
|
116
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
|
|
117
|
+
extName,
|
|
118
|
+
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
119
|
+
)),
|
|
110
120
|
});
|
|
111
121
|
}
|
|
112
122
|
else if (enablementState === 0 ) {
|
|
113
123
|
this._notificationService.notify({
|
|
114
124
|
severity: Severity.Error,
|
|
115
|
-
message: localizeWithPath(
|
|
125
|
+
message: ( localizeWithPath(
|
|
126
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
127
|
+
'restrictedMode',
|
|
128
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
|
|
129
|
+
extName,
|
|
130
|
+
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
131
|
+
)),
|
|
116
132
|
actions: {
|
|
117
|
-
primary: [( new Action(
|
|
133
|
+
primary: [( new Action('manageWorkspaceTrust', ( localizeWithPath(
|
|
134
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
118
135
|
'manageWorkspaceTrust',
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
true,
|
|
122
|
-
() => this._commandService.executeCommand('workbench.trust.manage')
|
|
123
|
-
))]
|
|
136
|
+
"Manage Workspace Trust"
|
|
137
|
+
)), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
|
|
124
138
|
}
|
|
125
139
|
});
|
|
126
140
|
}
|
|
127
141
|
else if (this._extensionEnablementService.canChangeEnablement(missingInstalledDependency)) {
|
|
128
142
|
this._notificationService.notify({
|
|
129
143
|
severity: Severity.Error,
|
|
130
|
-
message: localizeWithPath(
|
|
144
|
+
message: ( localizeWithPath(
|
|
145
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
146
|
+
'disabledDep',
|
|
147
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled. Would you like to enable the extension and reload the window?",
|
|
148
|
+
extName,
|
|
149
|
+
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
150
|
+
)),
|
|
131
151
|
actions: {
|
|
132
|
-
primary: [( new Action(
|
|
133
|
-
'
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
.then(() => this._hostService.reload(), e => this._notificationService.error(e))
|
|
139
|
-
))]
|
|
152
|
+
primary: [( new Action('enable', ( localizeWithPath(
|
|
153
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
154
|
+
'enable dep',
|
|
155
|
+
"Enable and Reload"
|
|
156
|
+
)), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === 6 ? 8 : 9 )
|
|
157
|
+
.then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
|
|
140
158
|
}
|
|
141
159
|
});
|
|
142
160
|
}
|
|
143
161
|
else {
|
|
144
162
|
this._notificationService.notify({
|
|
145
163
|
severity: Severity.Error,
|
|
146
|
-
message: localizeWithPath(
|
|
164
|
+
message: ( localizeWithPath(
|
|
165
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
166
|
+
'disabledDepNoAction',
|
|
167
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
|
|
168
|
+
extName,
|
|
169
|
+
missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
|
|
170
|
+
)),
|
|
147
171
|
});
|
|
148
172
|
}
|
|
149
173
|
}
|
|
@@ -159,21 +183,32 @@ let MainThreadExtensionService = class MainThreadExtensionService {
|
|
|
159
183
|
if (dependencyExtension) {
|
|
160
184
|
this._notificationService.notify({
|
|
161
185
|
severity: Severity.Error,
|
|
162
|
-
message: localizeWithPath(
|
|
186
|
+
message: ( localizeWithPath(
|
|
187
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
188
|
+
'uninstalledDep',
|
|
189
|
+
"Cannot activate the '{0}' extension because it depends on the '{1}' extension from '{2}', which is not installed. Would you like to install the extension and reload the window?",
|
|
190
|
+
extName,
|
|
191
|
+
dependencyExtension.displayName,
|
|
192
|
+
dependencyExtension.publisherDisplayName
|
|
193
|
+
)),
|
|
163
194
|
actions: {
|
|
164
|
-
primary: [( new Action(
|
|
165
|
-
'
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
.then(() => this._hostService.reload(), e => this._notificationService.error(e))
|
|
171
|
-
))]
|
|
195
|
+
primary: [( new Action('install', ( localizeWithPath(
|
|
196
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
197
|
+
'install missing dep',
|
|
198
|
+
"Install and Reload"
|
|
199
|
+
)), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
|
|
200
|
+
.then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
|
|
172
201
|
}
|
|
173
202
|
});
|
|
174
203
|
}
|
|
175
204
|
else {
|
|
176
|
-
this._notificationService.error(localizeWithPath(
|
|
205
|
+
this._notificationService.error(( localizeWithPath(
|
|
206
|
+
'vs/workbench/api/browser/mainThreadExtensionService',
|
|
207
|
+
'unknownDep',
|
|
208
|
+
"Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
|
|
209
|
+
extName,
|
|
210
|
+
missingDependency
|
|
211
|
+
)));
|
|
177
212
|
}
|
|
178
213
|
}
|
|
179
214
|
async $setPerformanceMarks(marks) {
|
|
@@ -65,38 +65,86 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
65
65
|
let message;
|
|
66
66
|
if (data.extensionNames.length === 1) {
|
|
67
67
|
if (operation === 0 ) {
|
|
68
|
-
message = localizeWithPath(
|
|
68
|
+
message = ( localizeWithPath(
|
|
69
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
70
|
+
'ask.1.create',
|
|
71
|
+
"Extension '{0}' wants to make refactoring changes with this file creation",
|
|
72
|
+
data.extensionNames[0]
|
|
73
|
+
));
|
|
69
74
|
}
|
|
70
75
|
else if (operation === 3 ) {
|
|
71
|
-
message = localizeWithPath(
|
|
76
|
+
message = ( localizeWithPath(
|
|
77
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
78
|
+
'ask.1.copy',
|
|
79
|
+
"Extension '{0}' wants to make refactoring changes with this file copy",
|
|
80
|
+
data.extensionNames[0]
|
|
81
|
+
));
|
|
72
82
|
}
|
|
73
83
|
else if (operation === 2 ) {
|
|
74
|
-
message = localizeWithPath(
|
|
84
|
+
message = ( localizeWithPath(
|
|
85
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
86
|
+
'ask.1.move',
|
|
87
|
+
"Extension '{0}' wants to make refactoring changes with this file move",
|
|
88
|
+
data.extensionNames[0]
|
|
89
|
+
));
|
|
75
90
|
}
|
|
76
91
|
else {
|
|
77
|
-
message = localizeWithPath(
|
|
92
|
+
message = ( localizeWithPath(
|
|
93
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
94
|
+
'ask.1.delete',
|
|
95
|
+
"Extension '{0}' wants to make refactoring changes with this file deletion",
|
|
96
|
+
data.extensionNames[0]
|
|
97
|
+
));
|
|
78
98
|
}
|
|
79
99
|
}
|
|
80
100
|
else {
|
|
81
101
|
if (operation === 0 ) {
|
|
82
|
-
message = localizeWithPath(
|
|
102
|
+
message = ( localizeWithPath(
|
|
103
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
104
|
+
{ key: 'ask.N.create', comment: ['{0} is a number, e.g "3 extensions want..."'] },
|
|
105
|
+
"{0} extensions want to make refactoring changes with this file creation",
|
|
106
|
+
data.extensionNames.length
|
|
107
|
+
));
|
|
83
108
|
}
|
|
84
109
|
else if (operation === 3 ) {
|
|
85
|
-
message = localizeWithPath(
|
|
110
|
+
message = ( localizeWithPath(
|
|
111
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
112
|
+
{ key: 'ask.N.copy', comment: ['{0} is a number, e.g "3 extensions want..."'] },
|
|
113
|
+
"{0} extensions want to make refactoring changes with this file copy",
|
|
114
|
+
data.extensionNames.length
|
|
115
|
+
));
|
|
86
116
|
}
|
|
87
117
|
else if (operation === 2 ) {
|
|
88
|
-
message = localizeWithPath(
|
|
118
|
+
message = ( localizeWithPath(
|
|
119
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
120
|
+
{ key: 'ask.N.move', comment: ['{0} is a number, e.g "3 extensions want..."'] },
|
|
121
|
+
"{0} extensions want to make refactoring changes with this file move",
|
|
122
|
+
data.extensionNames.length
|
|
123
|
+
));
|
|
89
124
|
}
|
|
90
125
|
else {
|
|
91
|
-
message = localizeWithPath(
|
|
126
|
+
message = ( localizeWithPath(
|
|
127
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
128
|
+
{ key: 'ask.N.delete', comment: ['{0} is a number, e.g "3 extensions want..."'] },
|
|
129
|
+
"{0} extensions want to make refactoring changes with this file deletion",
|
|
130
|
+
data.extensionNames.length
|
|
131
|
+
));
|
|
92
132
|
}
|
|
93
133
|
}
|
|
94
134
|
if (needsConfirmation) {
|
|
95
135
|
const { confirmed } = await dialogService.confirm({
|
|
96
136
|
type: Severity.Info,
|
|
97
137
|
message,
|
|
98
|
-
primaryButton: localizeWithPath(
|
|
99
|
-
|
|
138
|
+
primaryButton: ( localizeWithPath(
|
|
139
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
140
|
+
'preview',
|
|
141
|
+
"Show &&Preview"
|
|
142
|
+
)),
|
|
143
|
+
cancelButton: ( localizeWithPath(
|
|
144
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
145
|
+
'cancel',
|
|
146
|
+
"Skip Changes"
|
|
147
|
+
))
|
|
100
148
|
});
|
|
101
149
|
showPreview = true;
|
|
102
150
|
if (!confirmed) {
|
|
@@ -115,19 +163,35 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
115
163
|
message,
|
|
116
164
|
buttons: [
|
|
117
165
|
{
|
|
118
|
-
label: localizeWithPath(
|
|
166
|
+
label: ( localizeWithPath(
|
|
167
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
168
|
+
{ key: 'ok', comment: ['&& denotes a mnemonic'] },
|
|
169
|
+
"&&OK"
|
|
170
|
+
)),
|
|
119
171
|
run: () => Choice.OK
|
|
120
172
|
},
|
|
121
173
|
{
|
|
122
|
-
label: localizeWithPath(
|
|
174
|
+
label: ( localizeWithPath(
|
|
175
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
176
|
+
{ key: 'preview', comment: ['&& denotes a mnemonic'] },
|
|
177
|
+
"Show &&Preview"
|
|
178
|
+
)),
|
|
123
179
|
run: () => Choice.Preview
|
|
124
180
|
}
|
|
125
181
|
],
|
|
126
182
|
cancelButton: {
|
|
127
|
-
label: localizeWithPath(
|
|
183
|
+
label: ( localizeWithPath(
|
|
184
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
185
|
+
'cancel',
|
|
186
|
+
"Skip Changes"
|
|
187
|
+
)),
|
|
128
188
|
run: () => Choice.Cancel
|
|
129
189
|
},
|
|
130
|
-
checkbox: { label: localizeWithPath(
|
|
190
|
+
checkbox: { label: ( localizeWithPath(
|
|
191
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
192
|
+
'again',
|
|
193
|
+
"Don't ask again"
|
|
194
|
+
)) }
|
|
131
195
|
});
|
|
132
196
|
if (result === Choice.Cancel) {
|
|
133
197
|
return;
|
|
@@ -144,15 +208,35 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
|
|
|
144
208
|
_progressLabel(operation) {
|
|
145
209
|
switch (operation) {
|
|
146
210
|
case 0 :
|
|
147
|
-
return localizeWithPath(
|
|
211
|
+
return ( localizeWithPath(
|
|
212
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
213
|
+
'msg-create',
|
|
214
|
+
"Running 'File Create' participants..."
|
|
215
|
+
));
|
|
148
216
|
case 2 :
|
|
149
|
-
return localizeWithPath(
|
|
217
|
+
return ( localizeWithPath(
|
|
218
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
219
|
+
'msg-rename',
|
|
220
|
+
"Running 'File Rename' participants..."
|
|
221
|
+
));
|
|
150
222
|
case 3 :
|
|
151
|
-
return localizeWithPath(
|
|
223
|
+
return ( localizeWithPath(
|
|
224
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
225
|
+
'msg-copy',
|
|
226
|
+
"Running 'File Copy' participants..."
|
|
227
|
+
));
|
|
152
228
|
case 1 :
|
|
153
|
-
return localizeWithPath(
|
|
229
|
+
return ( localizeWithPath(
|
|
230
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
231
|
+
'msg-delete',
|
|
232
|
+
"Running 'File Delete' participants..."
|
|
233
|
+
));
|
|
154
234
|
case 4 :
|
|
155
|
-
return localizeWithPath(
|
|
235
|
+
return ( localizeWithPath(
|
|
236
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
237
|
+
'msg-write',
|
|
238
|
+
"Running 'File Write' participants..."
|
|
239
|
+
));
|
|
156
240
|
}
|
|
157
241
|
}
|
|
158
242
|
});
|
|
@@ -180,7 +264,11 @@ registerAction2(class ResetMemento extends Action2 {
|
|
|
180
264
|
super({
|
|
181
265
|
id: 'files.participants.resetChoice',
|
|
182
266
|
title: {
|
|
183
|
-
value: localizeWithPath(
|
|
267
|
+
value: ( localizeWithPath(
|
|
268
|
+
'vs/workbench/api/browser/mainThreadFileSystemEventService',
|
|
269
|
+
'label',
|
|
270
|
+
"Reset choice for 'File operation needs preview'"
|
|
271
|
+
)),
|
|
184
272
|
original: `Reset choice for 'File operation needs preview'`
|
|
185
273
|
},
|
|
186
274
|
f1: true
|
|
@@ -36,12 +36,21 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
36
36
|
let source;
|
|
37
37
|
if (options.source) {
|
|
38
38
|
source = {
|
|
39
|
-
label: nls.localizeWithPath(
|
|
39
|
+
label: ( nls.localizeWithPath(
|
|
40
|
+
'vs/workbench/api/browser/mainThreadMessageService',
|
|
41
|
+
'extensionSource',
|
|
42
|
+
"{0} (Extension)",
|
|
43
|
+
options.source.label
|
|
44
|
+
)),
|
|
40
45
|
id: options.source.identifier.value
|
|
41
46
|
};
|
|
42
47
|
}
|
|
43
48
|
if (!source) {
|
|
44
|
-
source = nls.localizeWithPath(
|
|
49
|
+
source = ( nls.localizeWithPath(
|
|
50
|
+
'vs/workbench/api/browser/mainThreadMessageService',
|
|
51
|
+
'defaultSource',
|
|
52
|
+
"Extension"
|
|
53
|
+
));
|
|
45
54
|
}
|
|
46
55
|
const secondaryActions = [];
|
|
47
56
|
const messageHandle = this._notificationService.notify({
|
|
@@ -73,13 +82,17 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
73
82
|
if (!cancelButton) {
|
|
74
83
|
if (buttons.length > 0) {
|
|
75
84
|
cancelButton = {
|
|
76
|
-
label: nls.localizeWithPath('vs/workbench/api/browser/mainThreadMessageService', 'cancel', "Cancel"),
|
|
85
|
+
label: ( nls.localizeWithPath('vs/workbench/api/browser/mainThreadMessageService', 'cancel', "Cancel")),
|
|
77
86
|
run: () => undefined
|
|
78
87
|
};
|
|
79
88
|
}
|
|
80
89
|
else {
|
|
81
90
|
cancelButton = {
|
|
82
|
-
label: nls.localizeWithPath(
|
|
91
|
+
label: ( nls.localizeWithPath(
|
|
92
|
+
'vs/workbench/api/browser/mainThreadMessageService',
|
|
93
|
+
{ key: 'ok', comment: ['&& denotes a mnemonic'] },
|
|
94
|
+
"&&OK"
|
|
95
|
+
)),
|
|
83
96
|
run: () => undefined
|
|
84
97
|
};
|
|
85
98
|
}
|
|
@@ -16,9 +16,11 @@ class ExtHostNotebookDocumentSaveParticipant {
|
|
|
16
16
|
}
|
|
17
17
|
let _warningTimeout;
|
|
18
18
|
const p = ( new Promise((resolve, reject) => {
|
|
19
|
-
_warningTimeout = setTimeout(() => reject(( new Error(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
_warningTimeout = setTimeout(() => reject(( new Error(( localizeWithPath(
|
|
20
|
+
'vs/workbench/api/browser/mainThreadNotebookSaveParticipant',
|
|
21
|
+
'timeout.onWillSave',
|
|
22
|
+
"Aborted onWillSaveNotebookDocument-event after 1750ms"
|
|
23
|
+
))))), 1750);
|
|
22
24
|
this._proxy.$participateInSave(workingCopy.resource, env.reason, token).then(_ => {
|
|
23
25
|
clearTimeout(_warningTimeout);
|
|
24
26
|
return undefined;
|
|
@@ -29,11 +29,11 @@ let MainThreadProgress = class MainThreadProgress {
|
|
|
29
29
|
const notificationOptions = {
|
|
30
30
|
...options,
|
|
31
31
|
location: 15 ,
|
|
32
|
-
secondaryActions: [( new ManageExtensionAction(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
))]
|
|
32
|
+
secondaryActions: [( new ManageExtensionAction(extensionId, ( localizeWithPath(
|
|
33
|
+
'vs/workbench/api/browser/mainThreadProgress',
|
|
34
|
+
'manageExtension',
|
|
35
|
+
"Manage Extension"
|
|
36
|
+
)), this._commandService))]
|
|
37
37
|
};
|
|
38
38
|
options = notificationOptions;
|
|
39
39
|
}
|
|
@@ -15,9 +15,11 @@ class ExtHostSaveParticipant {
|
|
|
15
15
|
return undefined;
|
|
16
16
|
}
|
|
17
17
|
const p = ( new Promise((resolve, reject) => {
|
|
18
|
-
setTimeout(() => reject(( new Error(
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
setTimeout(() => reject(( new Error(( localizeWithPath(
|
|
19
|
+
'vs/workbench/api/browser/mainThreadSaveParticipant',
|
|
20
|
+
'timeout.onWillSave',
|
|
21
|
+
"Aborted onWillSaveTextDocument-event after 1750ms"
|
|
22
|
+
))))), 1750);
|
|
21
23
|
this._proxy.$participateInSave(editorModel.resource, env.reason).then(values => {
|
|
22
24
|
if (!values.every(success => success)) {
|
|
23
25
|
return Promise.reject(( new Error('listener failed')));
|
|
@@ -375,7 +375,13 @@ var TaskDTO;
|
|
|
375
375
|
}
|
|
376
376
|
command.presentation = TaskPresentationOptionsDTO.to(task.presentationOptions);
|
|
377
377
|
const source = TaskSourceDTO.to(task.source, workspace);
|
|
378
|
-
const label = nls.localizeWithPath(
|
|
378
|
+
const label = ( nls.localizeWithPath(
|
|
379
|
+
'vs/workbench/api/browser/mainThreadTask',
|
|
380
|
+
'task.label',
|
|
381
|
+
'{0}: {1}',
|
|
382
|
+
source.label,
|
|
383
|
+
task.name
|
|
384
|
+
));
|
|
379
385
|
const definition = TaskDefinitionDTO.to(task.definition, executeOnly);
|
|
380
386
|
const id = (CustomExecutionDTO.is(task.execution) && task._id) ? task._id : `${task.source.extensionId}.${definition._key}`;
|
|
381
387
|
const result = ( new ContributedTask(
|
|
@@ -103,8 +103,20 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
103
103
|
return TunnelDtoConverter.fromServiceTunnel(tunnel);
|
|
104
104
|
}
|
|
105
105
|
async elevationPrompt(tunnelOptions, tunnel, source) {
|
|
106
|
-
return this.notificationService.prompt(Severity.Info, nls.localizeWithPath(
|
|
107
|
-
|
|
106
|
+
return this.notificationService.prompt(Severity.Info, ( nls.localizeWithPath(
|
|
107
|
+
'vs/workbench/api/browser/mainThreadTunnelService',
|
|
108
|
+
'remote.tunnel.openTunnel',
|
|
109
|
+
"The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
|
|
110
|
+
source,
|
|
111
|
+
tunnelOptions.remoteAddress.port,
|
|
112
|
+
tunnelOptions.localAddressPort
|
|
113
|
+
)), [{
|
|
114
|
+
label: ( nls.localizeWithPath(
|
|
115
|
+
'vs/workbench/api/browser/mainThreadTunnelService',
|
|
116
|
+
'remote.tunnelsView.elevationButton',
|
|
117
|
+
"Use Port {0} as Sudo...",
|
|
118
|
+
tunnel.tunnelRemotePort
|
|
119
|
+
)),
|
|
108
120
|
run: async () => {
|
|
109
121
|
this.elevateionRetry = true;
|
|
110
122
|
await this.remoteExplorerService.close({ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }, TunnelCloseReason.Other);
|
|
@@ -48,25 +48,23 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
48
48
|
}
|
|
49
49
|
catch (e) {
|
|
50
50
|
if (!isCancellationError(e)) {
|
|
51
|
-
const openDefaultAction = ( new Action(
|
|
52
|
-
'
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
));
|
|
51
|
+
const openDefaultAction = ( new Action('default', ( localizeWithPath(
|
|
52
|
+
'vs/workbench/api/browser/mainThreadUriOpeners',
|
|
53
|
+
'openerFailedUseDefault',
|
|
54
|
+
"Open using default opener"
|
|
55
|
+
)), undefined, undefined, async () => {
|
|
56
|
+
await this.openerService.open(uri, {
|
|
57
|
+
allowTunneling: false,
|
|
58
|
+
allowContributedOpeners: defaultExternalUriOpenerId,
|
|
59
|
+
});
|
|
60
|
+
}));
|
|
63
61
|
openDefaultAction.tooltip = ( uri.toString());
|
|
64
62
|
this.notificationService.notify({
|
|
65
63
|
severity: Severity.Error,
|
|
66
|
-
message: localizeWithPath('vs/workbench/api/browser/mainThreadUriOpeners', {
|
|
64
|
+
message: ( localizeWithPath('vs/workbench/api/browser/mainThreadUriOpeners', {
|
|
67
65
|
key: 'openerFailedMessage',
|
|
68
66
|
comment: ['{0} is the id of the opener. {1} is the url being opened.'],
|
|
69
|
-
}, 'Could not open uri with \'{0}\': {1}', id, ( e.toString())),
|
|
67
|
+
}, 'Could not open uri with \'{0}\': {1}', id, ( e.toString()))),
|
|
70
68
|
actions: {
|
|
71
69
|
primary: [
|
|
72
70
|
openDefaultAction
|
|
@@ -102,7 +102,12 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
102
102
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
103
103
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none';">
|
|
104
104
|
</head>
|
|
105
|
-
<body>${
|
|
105
|
+
<body>${( localizeWithPath(
|
|
106
|
+
'vs/workbench/api/browser/mainThreadWebviews',
|
|
107
|
+
'errorMessage',
|
|
108
|
+
"An error occurred while loading view: {0}",
|
|
109
|
+
escape(viewType)
|
|
110
|
+
))}</body>
|
|
106
111
|
</html>`;
|
|
107
112
|
}
|
|
108
113
|
};
|
|
@@ -73,22 +73,49 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
73
73
|
const wantsToDelete = removeCount > 0;
|
|
74
74
|
if (wantsToAdd && !wantsToDelete) {
|
|
75
75
|
if (addCount === 1) {
|
|
76
|
-
message = localizeWithPath(
|
|
76
|
+
message = ( localizeWithPath(
|
|
77
|
+
'vs/workbench/api/browser/mainThreadWorkspace',
|
|
78
|
+
'folderStatusMessageAddSingleFolder',
|
|
79
|
+
"Extension '{0}' added 1 folder to the workspace",
|
|
80
|
+
extensionName
|
|
81
|
+
));
|
|
77
82
|
}
|
|
78
83
|
else {
|
|
79
|
-
message = localizeWithPath(
|
|
84
|
+
message = ( localizeWithPath(
|
|
85
|
+
'vs/workbench/api/browser/mainThreadWorkspace',
|
|
86
|
+
'folderStatusMessageAddMultipleFolders',
|
|
87
|
+
"Extension '{0}' added {1} folders to the workspace",
|
|
88
|
+
extensionName,
|
|
89
|
+
addCount
|
|
90
|
+
));
|
|
80
91
|
}
|
|
81
92
|
}
|
|
82
93
|
else if (wantsToDelete && !wantsToAdd) {
|
|
83
94
|
if (removeCount === 1) {
|
|
84
|
-
message = localizeWithPath(
|
|
95
|
+
message = ( localizeWithPath(
|
|
96
|
+
'vs/workbench/api/browser/mainThreadWorkspace',
|
|
97
|
+
'folderStatusMessageRemoveSingleFolder',
|
|
98
|
+
"Extension '{0}' removed 1 folder from the workspace",
|
|
99
|
+
extensionName
|
|
100
|
+
));
|
|
85
101
|
}
|
|
86
102
|
else {
|
|
87
|
-
message = localizeWithPath(
|
|
103
|
+
message = ( localizeWithPath(
|
|
104
|
+
'vs/workbench/api/browser/mainThreadWorkspace',
|
|
105
|
+
'folderStatusMessageRemoveMultipleFolders',
|
|
106
|
+
"Extension '{0}' removed {1} folders from the workspace",
|
|
107
|
+
extensionName,
|
|
108
|
+
removeCount
|
|
109
|
+
));
|
|
88
110
|
}
|
|
89
111
|
}
|
|
90
112
|
else {
|
|
91
|
-
message = localizeWithPath(
|
|
113
|
+
message = ( localizeWithPath(
|
|
114
|
+
'vs/workbench/api/browser/mainThreadWorkspace',
|
|
115
|
+
'folderStatusChangeFolder',
|
|
116
|
+
"Extension '{0}' changed folders of the workspace",
|
|
117
|
+
extensionName
|
|
118
|
+
));
|
|
92
119
|
}
|
|
93
120
|
return message;
|
|
94
121
|
}
|