Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/workbench.web.main.internal.ts
3291 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
7
// #######################################################################
8
// ### ###
9
// ### !!! PLEASE ADD COMMON IMPORTS INTO WORKBENCH.COMMON.MAIN.TS !!! ###
10
// ### ###
11
// #######################################################################
12
13
14
//#region --- workbench common
15
16
import './workbench.common.main.js';
17
18
//#endregion
19
20
21
//#region --- workbench parts
22
23
import './browser/parts/dialogs/dialog.web.contribution.js';
24
25
//#endregion
26
27
28
//#region --- workbench (web main)
29
30
import './browser/web.main.js';
31
32
//#endregion
33
34
35
//#region --- workbench services
36
37
import './services/integrity/browser/integrityService.js';
38
import './services/search/browser/searchService.js';
39
import './services/textfile/browser/browserTextFileService.js';
40
import './services/keybinding/browser/keyboardLayoutService.js';
41
import './services/extensions/browser/extensionService.js';
42
import './services/extensionManagement/browser/extensionsProfileScannerService.js';
43
import './services/extensions/browser/extensionsScannerService.js';
44
import './services/extensionManagement/browser/webExtensionsScannerService.js';
45
import './services/extensionManagement/common/extensionManagementServerService.js';
46
import './services/mcp/browser/mcpGalleryManifestService.js';
47
import './services/mcp/browser/mcpWorkbenchManagementService.js';
48
import './services/extensionManagement/browser/extensionGalleryManifestService.js';
49
import './services/telemetry/browser/telemetryService.js';
50
import './services/url/browser/urlService.js';
51
import './services/update/browser/updateService.js';
52
import './services/workspaces/browser/workspacesService.js';
53
import './services/workspaces/browser/workspaceEditingService.js';
54
import './services/dialogs/browser/fileDialogService.js';
55
import './services/host/browser/browserHostService.js';
56
import './services/lifecycle/browser/lifecycleService.js';
57
import './services/clipboard/browser/clipboardService.js';
58
import './services/localization/browser/localeService.js';
59
import './services/path/browser/pathService.js';
60
import './services/themes/browser/browserHostColorSchemeService.js';
61
import './services/encryption/browser/encryptionService.js';
62
import './services/imageResize/browser/imageResizeService.js';
63
import './services/secrets/browser/secretStorageService.js';
64
import './services/workingCopy/browser/workingCopyBackupService.js';
65
import './services/tunnel/browser/tunnelService.js';
66
import './services/files/browser/elevatedFileService.js';
67
import './services/workingCopy/browser/workingCopyHistoryService.js';
68
import './services/userDataSync/browser/webUserDataSyncEnablementService.js';
69
import './services/userDataProfile/browser/userDataProfileStorageService.js';
70
import './services/configurationResolver/browser/configurationResolverService.js';
71
import '../platform/extensionResourceLoader/browser/extensionResourceLoaderService.js';
72
import './services/auxiliaryWindow/browser/auxiliaryWindowService.js';
73
import './services/browserElements/browser/webBrowserElementsService.js';
74
75
import { InstantiationType, registerSingleton } from '../platform/instantiation/common/extensions.js';
76
import { IAccessibilityService } from '../platform/accessibility/common/accessibility.js';
77
import { IContextMenuService } from '../platform/contextview/browser/contextView.js';
78
import { ContextMenuService } from '../platform/contextview/browser/contextMenuService.js';
79
import { IExtensionTipsService } from '../platform/extensionManagement/common/extensionManagement.js';
80
import { ExtensionTipsService } from '../platform/extensionManagement/common/extensionTipsService.js';
81
import { IWorkbenchExtensionManagementService } from './services/extensionManagement/common/extensionManagement.js';
82
import { ExtensionManagementService } from './services/extensionManagement/common/extensionManagementService.js';
83
import { LogLevel } from '../platform/log/common/log.js';
84
import { UserDataSyncMachinesService, IUserDataSyncMachinesService } from '../platform/userDataSync/common/userDataSyncMachines.js';
85
import { IUserDataSyncStoreService, IUserDataSyncService, IUserDataAutoSyncService, IUserDataSyncLocalStoreService, IUserDataSyncResourceProviderService } from '../platform/userDataSync/common/userDataSync.js';
86
import { UserDataSyncStoreService } from '../platform/userDataSync/common/userDataSyncStoreService.js';
87
import { UserDataSyncLocalStoreService } from '../platform/userDataSync/common/userDataSyncLocalStoreService.js';
88
import { UserDataSyncService } from '../platform/userDataSync/common/userDataSyncService.js';
89
import { IUserDataSyncAccountService, UserDataSyncAccountService } from '../platform/userDataSync/common/userDataSyncAccount.js';
90
import { UserDataAutoSyncService } from '../platform/userDataSync/common/userDataAutoSyncService.js';
91
import { AccessibilityService } from '../platform/accessibility/browser/accessibilityService.js';
92
import { ICustomEndpointTelemetryService } from '../platform/telemetry/common/telemetry.js';
93
import { NullEndpointTelemetryService } from '../platform/telemetry/common/telemetryUtils.js';
94
import { ITitleService } from './services/title/browser/titleService.js';
95
import { BrowserTitleService } from './browser/parts/titlebar/titlebarPart.js';
96
import { ITimerService, TimerService } from './services/timer/browser/timerService.js';
97
import { IDiagnosticsService, NullDiagnosticsService } from '../platform/diagnostics/common/diagnostics.js';
98
import { ILanguagePackService } from '../platform/languagePacks/common/languagePacks.js';
99
import { WebLanguagePacksService } from '../platform/languagePacks/browser/languagePacks.js';
100
import { IWebContentExtractorService, NullWebContentExtractorService, ISharedWebContentExtractorService, NullSharedWebContentExtractorService } from '../platform/webContentExtractor/common/webContentExtractor.js';
101
import { IDefaultAccountService, NullDefaultAccountService } from './services/accounts/common/defaultAccount.js';
102
103
registerSingleton(IWorkbenchExtensionManagementService, ExtensionManagementService, InstantiationType.Delayed);
104
registerSingleton(IAccessibilityService, AccessibilityService, InstantiationType.Delayed);
105
registerSingleton(IContextMenuService, ContextMenuService, InstantiationType.Delayed);
106
registerSingleton(IUserDataSyncStoreService, UserDataSyncStoreService, InstantiationType.Delayed);
107
registerSingleton(IUserDataSyncMachinesService, UserDataSyncMachinesService, InstantiationType.Delayed);
108
registerSingleton(IUserDataSyncLocalStoreService, UserDataSyncLocalStoreService, InstantiationType.Delayed);
109
registerSingleton(IUserDataSyncAccountService, UserDataSyncAccountService, InstantiationType.Delayed);
110
registerSingleton(IUserDataSyncService, UserDataSyncService, InstantiationType.Delayed);
111
registerSingleton(IUserDataSyncResourceProviderService, UserDataSyncResourceProviderService, InstantiationType.Delayed);
112
registerSingleton(IUserDataAutoSyncService, UserDataAutoSyncService, InstantiationType.Eager /* Eager to start auto sync */);
113
registerSingleton(ITitleService, BrowserTitleService, InstantiationType.Eager);
114
registerSingleton(IExtensionTipsService, ExtensionTipsService, InstantiationType.Delayed);
115
registerSingleton(ITimerService, TimerService, InstantiationType.Delayed);
116
registerSingleton(ICustomEndpointTelemetryService, NullEndpointTelemetryService, InstantiationType.Delayed);
117
registerSingleton(IDiagnosticsService, NullDiagnosticsService, InstantiationType.Delayed);
118
registerSingleton(ILanguagePackService, WebLanguagePacksService, InstantiationType.Delayed);
119
registerSingleton(IWebContentExtractorService, NullWebContentExtractorService, InstantiationType.Delayed);
120
registerSingleton(ISharedWebContentExtractorService, NullSharedWebContentExtractorService, InstantiationType.Delayed);
121
registerSingleton(IDefaultAccountService, NullDefaultAccountService, InstantiationType.Delayed);
122
123
//#endregion
124
125
126
//#region --- workbench contributions
127
128
// Logs
129
import './contrib/logs/browser/logs.contribution.js';
130
131
// Localization
132
import './contrib/localization/browser/localization.contribution.js';
133
134
// Performance
135
import './contrib/performance/browser/performance.web.contribution.js';
136
137
// Preferences
138
import './contrib/preferences/browser/keyboardLayoutPicker.js';
139
140
// Debug
141
import './contrib/debug/browser/extensionHostDebugService.js';
142
143
// Welcome Banner
144
import './contrib/welcomeBanner/browser/welcomeBanner.contribution.js';
145
146
// Webview
147
import './contrib/webview/browser/webview.web.contribution.js';
148
149
// Extensions Management
150
import './contrib/extensions/browser/extensions.web.contribution.js';
151
152
// Terminal
153
import './contrib/terminal/browser/terminal.web.contribution.js';
154
import './contrib/externalTerminal/browser/externalTerminal.contribution.js';
155
import './contrib/terminal/browser/terminalInstanceService.js';
156
157
// Tasks
158
import './contrib/tasks/browser/taskService.js';
159
160
// Tags
161
import './contrib/tags/browser/workspaceTagsService.js';
162
163
// Issues
164
import './contrib/issue/browser/issue.contribution.js';
165
166
// Splash
167
import './contrib/splash/browser/splash.contribution.js';
168
169
// Remote Start Entry for the Web
170
import './contrib/remote/browser/remoteStartEntry.contribution.js';
171
172
// Process Explorer
173
import './contrib/processExplorer/browser/processExplorer.web.contribution.js';
174
175
//#endregion
176
177
178
//#region --- export workbench factory
179
180
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
181
//
182
// Do NOT change these exports in a way that something is removed unless
183
// intentional. These exports are used by web embedders and thus require
184
// an adoption when something changes.
185
//
186
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
187
188
import { create, commands, env, window, workspace, logger } from './browser/web.factory.js';
189
import { Menu } from './browser/web.api.js';
190
import { URI } from '../base/common/uri.js';
191
import { Event, Emitter } from '../base/common/event.js';
192
import { Disposable } from '../base/common/lifecycle.js';
193
import { GroupOrientation } from './services/editor/common/editorGroupsService.js';
194
import { UserDataSyncResourceProviderService } from '../platform/userDataSync/common/userDataSyncResourceProvider.js';
195
import { RemoteAuthorityResolverError, RemoteAuthorityResolverErrorCode } from '../platform/remote/common/remoteAuthorityResolver.js';
196
197
// TODO@esm remove me once we stop supporting our web-esm-bridge
198
if ((globalThis as any).__VSCODE_WEB_ESM_PROMISE) {
199
const exports = {
200
201
// Factory
202
create: create,
203
204
// Basic Types
205
URI: URI,
206
Event: Event,
207
Emitter: Emitter,
208
Disposable: Disposable,
209
// GroupOrientation,
210
LogLevel: LogLevel,
211
RemoteAuthorityResolverError: RemoteAuthorityResolverError,
212
RemoteAuthorityResolverErrorCode: RemoteAuthorityResolverErrorCode,
213
214
// Facade API
215
env: env,
216
window: window,
217
workspace: workspace,
218
commands: commands,
219
logger: logger,
220
Menu: Menu
221
};
222
(globalThis as any).__VSCODE_WEB_ESM_PROMISE(exports);
223
delete (globalThis as any).__VSCODE_WEB_ESM_PROMISE;
224
}
225
226
export {
227
228
// Factory
229
create,
230
231
// Basic Types
232
URI,
233
Event,
234
Emitter,
235
Disposable,
236
GroupOrientation,
237
LogLevel,
238
RemoteAuthorityResolverError,
239
RemoteAuthorityResolverErrorCode,
240
241
// Facade API
242
env,
243
window,
244
workspace,
245
commands,
246
logger,
247
Menu
248
};
249
250
//#endregion
251
252