workbench.main.ts 15.6 KB
Newer Older
A
Alex Dima 已提交
1 2 3 4 5
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

6
//#region --- workbench/editor core
A
Alex Dima 已提交
7

8
import 'vs/editor/editor.all';
A
Alex Dima 已提交
9

10
import 'vs/workbench/api/electron-browser/extensionHost.contribution';
S
#50583  
Sandeep Somavarapu 已提交
11

B
Benjamin Pasero 已提交
12
import 'vs/workbench/electron-browser/main.contribution';
13
import 'vs/workbench/browser/workbench.contribution';
J
Johannes Rieken 已提交
14

15
import 'vs/workbench/electron-browser/main';
S
Sandeep Somavarapu 已提交
16

17 18 19 20
//#endregion


//#region --- workbench actions
21

B
Benjamin Pasero 已提交
22
import 'vs/workbench/browser/actions/layoutActions';
23
import 'vs/workbench/browser/actions/listCommands';
24
import 'vs/workbench/browser/actions/navigationActions';
25
import 'vs/workbench/browser/parts/quickopen/quickOpenActions';
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import 'vs/workbench/browser/parts/quickinput/quickInputActions';

//#endregion


//#region --- API Extension Points

import 'vs/workbench/api/common/menusExtensionPoint';
import 'vs/workbench/api/common/configurationExtensionPoint';
import 'vs/workbench/api/browser/viewsExtensionPoint';

//#endregion


//#region --- workbench services
41 42 43 44 45 46 47 48 49 50 51 52 53 54
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { IMenuService } from 'vs/platform/actions/common/actions';
import { MenuService } from 'vs/platform/actions/common/menuService';
import { IListService, ListService } from 'vs/platform/list/browser/listService';
import { OpenerService } from 'vs/editor/browser/services/openerService';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
import { EditorWorkerServiceImpl } from 'vs/editor/common/services/editorWorkerServiceImpl';
import { MarkerDecorationsService } from 'vs/editor/common/services/markerDecorationsServiceImpl';
import { IMarkerDecorationsService } from 'vs/editor/common/services/markersDecorationService';
import { IMarkerService } from 'vs/platform/markers/common/markers';
import { MarkerService } from 'vs/platform/markers/common/markerService';
import { IDownloadService } from 'vs/platform/download/common/download';
import { DownloadService } from 'vs/platform/download/node/downloadService';
B
Benjamin Pasero 已提交
55 56
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
import { ClipboardService } from 'vs/platform/clipboard/electron-browser/clipboardService';
57 58 59 60 61 62 63 64
import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IModelService } from 'vs/editor/common/services/modelService';
import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
import { ITextResourceConfigurationService } from 'vs/editor/common/services/resourceConfiguration';
import { TextResourceConfigurationService } from 'vs/editor/common/services/resourceConfigurationImpl';
import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility';
import { AccessibilityService } from 'vs/platform/accessibility/node/accessibilityService';
65
import { IExtensionEnablementService, IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
66
import { ExtensionEnablementService } from 'vs/platform/extensionManagement/common/extensionEnablementService';
67 68 69 70 71
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { ContextViewService } from 'vs/platform/contextview/browser/contextViewService';
import { ExtensionGalleryService } from 'vs/platform/extensionManagement/node/extensionGalleryService';
import { IRequestService } from 'vs/platform/request/node/request';
import { RequestService } from 'vs/platform/request/electron-browser/requestService';
72 73
import { LifecycleService } from 'vs/platform/lifecycle/electron-browser/lifecycleService';
import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
74
import { ILocalizationsService } from 'vs/platform/localizations/common/localizations';
75 76
import { LocalizationsService } from 'vs/platform/localizations/electron-browser/localizationsService';
import { ISharedProcessService, SharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
77 78 79
import { RemoteAuthorityResolverService } from 'vs/platform/remote/electron-browser/remoteAuthorityResolverService';
import { IRemoteAuthorityResolverService } from 'vs/platform/remote/common/remoteAuthorityResolver';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
import { TelemetryService } from 'vs/platform/telemetry/electron-browser/telemetryService';
import { IProductService } from 'vs/platform/product/common/product';
import { ProductService } from 'vs/platform/product/node/productService';
import { IWindowsService } from 'vs/platform/windows/common/windows';
import { WindowsService } from 'vs/platform/windows/electron-browser/windowsService';
import { IUpdateService } from 'vs/platform/update/common/update';
import { UpdateService } from 'vs/platform/update/electron-browser/updateService';
import { IIssueService } from 'vs/platform/issue/common/issue';
import { IssueService } from 'vs/platform/issue/electron-browser/issueService';
import { IWorkspacesService } from 'vs/platform/workspaces/common/workspaces';
import { WorkspacesService } from 'vs/platform/workspaces/electron-browser/workspacesService';
import { IMenubarService } from 'vs/platform/menubar/common/menubar';
import { MenubarService } from 'vs/platform/menubar/electron-browser/menubarService';
import { IURLService } from 'vs/platform/url/common/url';
import { RelayURLService } from 'vs/platform/url/electron-browser/urlService';
95

96
import 'vs/workbench/services/bulkEdit/browser/bulkEditService';
97
import 'vs/workbench/services/integrity/node/integrityService';
98
import 'vs/workbench/services/keybinding/common/keybindingEditing';
99
import 'vs/workbench/services/hash/node/hashService';
100
import 'vs/workbench/services/textMate/electron-browser/textMateService';
101 102 103 104 105 106 107 108
import 'vs/workbench/services/configurationResolver/browser/configurationResolverService';
import 'vs/workbench/services/workspace/node/workspaceEditingService';
import 'vs/workbench/services/extensions/electron-browser/inactiveExtensionUrlHandler';
import 'vs/workbench/services/decorations/browser/decorationsService';
import 'vs/workbench/services/search/node/searchService';
import 'vs/workbench/services/progress/browser/progressService2';
import 'vs/workbench/services/editor/browser/codeEditorService';
import 'vs/workbench/services/broadcast/electron-browser/broadcastService';
109
import 'vs/workbench/services/preferences/browser/preferencesService';
S
Sandeep Somavarapu 已提交
110
import 'vs/workbench/services/output/node/outputChannelModelService';
111 112 113
import 'vs/workbench/services/configuration/node/jsonEditingService';
import 'vs/workbench/services/textmodelResolver/common/textModelResolverService';
import 'vs/workbench/services/textfile/common/textFileService';
114
import 'vs/workbench/services/dialogs/browser/fileDialogService';
115
import 'vs/workbench/services/dialogs/electron-browser/dialogService';
B
Benjamin Pasero 已提交
116
import 'vs/workbench/services/backup/node/backupFileService';
117
import 'vs/workbench/services/editor/browser/editorService';
118
import 'vs/workbench/services/history/browser/history';
119
import 'vs/workbench/services/files/node/remoteFileService';
120
import 'vs/workbench/services/activity/browser/activityService';
121
import 'vs/workbench/browser/parts/views/views';
122
import 'vs/workbench/services/keybinding/electron-browser/keybindingService';
123 124 125 126 127
import 'vs/workbench/services/untitled/common/untitledEditorService';
import 'vs/workbench/services/textfile/node/textResourcePropertiesService';
import 'vs/workbench/services/mode/common/workbenchModeService';
import 'vs/workbench/services/commands/common/commandService';
import 'vs/workbench/services/themes/browser/workbenchThemeService';
128
import 'vs/workbench/services/extensions/electron-browser/extensionService';
129
import 'vs/workbench/services/contextmenu/electron-browser/contextmenuService';
130
import 'vs/workbench/services/extensionManagement/node/multiExtensionManagement';
131
import 'vs/workbench/services/label/common/labelService';
132
import 'vs/workbench/services/extensions/electron-browser/extensionManagementServerService';
133
import 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
134
import 'vs/workbench/services/notification/common/notificationService';
135 136 137 138 139 140 141 142 143

registerSingleton(IMenuService, MenuService, true);
registerSingleton(IListService, ListService, true);
registerSingleton(IOpenerService, OpenerService, true);
registerSingleton(IEditorWorkerService, EditorWorkerServiceImpl);
registerSingleton(IMarkerDecorationsService, MarkerDecorationsService);
registerSingleton(IMarkerService, MarkerService, true);
registerSingleton(IDownloadService, DownloadService, true);
registerSingleton(IClipboardService, ClipboardService, true);
144 145 146 147
registerSingleton(IContextKeyService, ContextKeyService);
registerSingleton(IModelService, ModelServiceImpl, true);
registerSingleton(ITextResourceConfigurationService, TextResourceConfigurationService);
registerSingleton(IAccessibilityService, AccessibilityService, true);
148
registerSingleton(IExtensionEnablementService, ExtensionEnablementService, true);
149 150 151
registerSingleton(IContextViewService, ContextViewService, true);
registerSingleton(IExtensionGalleryService, ExtensionGalleryService, true);
registerSingleton(IRequestService, RequestService, true);
152
registerSingleton(ILifecycleService, LifecycleService);
153
registerSingleton(ILocalizationsService, LocalizationsService);
154 155 156
registerSingleton(ISharedProcessService, SharedProcessService, true);
registerSingleton(IRemoteAuthorityResolverService, RemoteAuthorityResolverService, true);
registerSingleton(ITelemetryService, TelemetryService);
157
registerSingleton(IProductService, ProductService, true);
158 159 160 161 162 163
registerSingleton(IWindowsService, WindowsService);
registerSingleton(IUpdateService, UpdateService);
registerSingleton(IIssueService, IssueService);
registerSingleton(IWorkspacesService, WorkspacesService);
registerSingleton(IMenubarService, MenubarService);
registerSingleton(IURLService, RelayURLService);
164 165 166

//#endregion

167 168 169 170 171 172 173 174 175 176 177 178
//#region --- workbench parts

import 'vs/workbench/browser/parts/quickinput/quickInput';
import 'vs/workbench/browser/parts/quickopen/quickOpenController';
import 'vs/workbench/browser/parts/titlebar/titlebarPart';
import 'vs/workbench/browser/parts/editor/editorPart';
import 'vs/workbench/browser/parts/activitybar/activitybarPart';
import 'vs/workbench/browser/parts/panel/panelPart';
import 'vs/workbench/browser/parts/sidebar/sidebarPart';
import 'vs/workbench/browser/parts/statusbar/statusbarPart';

//#endregion
179

180
//#region --- workbench contributions
181

182 183 184
// Telemetry
import 'vs/workbench/contrib/telemetry/browser/telemetry.contribution';

185
// Localizations
186
import 'vs/workbench/contrib/localizations/browser/localizations.contribution';
187 188

// Preferences
189 190
import 'vs/workbench/contrib/preferences/electron-browser/preferences.contribution';
import 'vs/workbench/contrib/preferences/browser/keybindingsEditorContribution';
191 192

// Logs
193
import 'vs/workbench/contrib/logs/common/logs.contribution';
A
Alex Dima 已提交
194

195
// Quick Open Handlers
196
import 'vs/workbench/contrib/quickopen/browser/quickopen.contribution';
A
Alex Dima 已提交
197

198
// Explorer
199 200 201
import 'vs/workbench/contrib/files/browser/explorerViewlet';
import 'vs/workbench/contrib/files/browser/fileActions.contribution';
import 'vs/workbench/contrib/files/browser/files.contribution';
A
Alex Dima 已提交
202

203
// Backup
204
import 'vs/workbench/contrib/backup/common/backup.contribution';
205

206
// Stats
207
import 'vs/workbench/contrib/stats/node/stats.contribution';
208

209
// Rapid Render Splash
210
import 'vs/workbench/contrib/splash/electron-browser/partsSplash.contribution';
211

212
// Search
213
import 'vs/workbench/contrib/search/browser/search.contribution';
214 215
import 'vs/workbench/contrib/search/browser/searchView';
import 'vs/workbench/contrib/search/browser/openAnythingHandler';
A
Alex Dima 已提交
216

217
// SCM
J
Joao Moreno 已提交
218 219
import 'vs/workbench/contrib/scm/browser/scm.contribution';
import 'vs/workbench/contrib/scm/browser/scmViewlet';
A
Alex Dima 已提交
220

221
// Debug
222 223
import 'vs/workbench/contrib/debug/electron-browser/debug.contribution';
import 'vs/workbench/contrib/debug/browser/debugQuickOpen';
I
isidor 已提交
224 225
import 'vs/workbench/contrib/debug/browser/debugEditorContribution';
import 'vs/workbench/contrib/debug/browser/repl';
226
import 'vs/workbench/contrib/debug/browser/debugViewlet';
A
Alex Dima 已提交
227

228
// Markers
S
Sandeep Somavarapu 已提交
229
import 'vs/workbench/contrib/markers/browser/markers.contribution';
230 231

// Comments
232
import 'vs/workbench/contrib/comments/electron-browser/comments.contribution';
A
Alex Dima 已提交
233

234
// URL Support
235
import 'vs/workbench/contrib/url/common/url.contribution';
236

237
// Webview
238
import 'vs/workbench/contrib/webview/electron-browser/webview.contribution';
C
Christof Marti 已提交
239

240
// Extensions Management
241 242 243
import 'vs/workbench/contrib/extensions/electron-browser/extensions.contribution';
import 'vs/workbench/contrib/extensions/browser/extensionsQuickOpen';
import 'vs/workbench/contrib/extensions/electron-browser/extensionsViewlet';
244

245
// Output Panel
S
Sandeep Somavarapu 已提交
246
import 'vs/workbench/contrib/output/browser/output.contribution';
247
import 'vs/workbench/contrib/output/browser/outputPanel';
A
Alex Dima 已提交
248

249
// Terminal
250
import 'vs/workbench/contrib/terminal/browser/terminal.contribution';
251 252
import 'vs/workbench/contrib/terminal/electron-browser/terminal.contribution';
import 'vs/workbench/contrib/terminal/browser/terminalQuickOpen';
253
import 'vs/workbench/contrib/terminal/browser/terminalPanel';
A
Alex Dima 已提交
254

255
// Relauncher
256
import 'vs/workbench/contrib/relauncher/electron-browser/relauncher.contribution';
257

258
// Tasks
259
import 'vs/workbench/contrib/tasks/electron-browser/task.contribution';
A
Alex Dima 已提交
260

261
// Emmet
S
SteVen Batten 已提交
262
import 'vs/workbench/contrib/emmet/browser/emmet.contribution';
A
Alex Dima 已提交
263

264
// CodeEditor Contributions
B
Benjamin Pasero 已提交
265
import 'vs/workbench/contrib/codeEditor/browser/codeEditor.contribution';
266
import 'vs/workbench/contrib/codeEditor/electron-browser/codeEditor.contribution';
I
isidor 已提交
267

268
// Execution
269
import 'vs/workbench/contrib/externalTerminal/electron-browser/externalTerminal.contribution';
A
Alex Dima 已提交
270

271
// Snippets
272 273 274 275 276
import 'vs/workbench/contrib/snippets/browser/snippets.contribution';
import 'vs/workbench/contrib/snippets/browser/snippetsService';
import 'vs/workbench/contrib/snippets/browser/insertSnippet';
import 'vs/workbench/contrib/snippets/browser/configureSnippets';
import 'vs/workbench/contrib/snippets/browser/tabCompletion';
A
Alex Dima 已提交
277

278 279 280
// Formatter Help
import 'vs/workbench/contrib/format/browser/format.contribution';

281
// Send a Smile
282
import 'vs/workbench/contrib/feedback/electron-browser/feedback.contribution';
A
Alex Dima 已提交
283

284
// Update
285
import 'vs/workbench/contrib/update/electron-browser/update.contribution';
A
Alex Dima 已提交
286

287
// Surveys
288 289
import 'vs/workbench/contrib/surveys/electron-browser/nps.contribution';
import 'vs/workbench/contrib/surveys/electron-browser/languageSurveys.contribution';
290

291
// Performance
292
import 'vs/workbench/contrib/performance/electron-browser/performance.contribution';
293

294
// CLI
295
import 'vs/workbench/contrib/cli/node/cli.contribution';
A
Alex Dima 已提交
296

297
// Themes Support
298
import 'vs/workbench/contrib/themes/browser/themes.contribution';
299
import 'vs/workbench/contrib/themes/test/electron-browser/themes.test.contribution';
300

301
// Watermark
302
import 'vs/workbench/contrib/watermark/browser/watermark';
C
Christof Marti 已提交
303

304
// Welcome
305
import 'vs/workbench/contrib/welcome/walkThrough/browser/walkThrough.contribution';
306 307
import 'vs/workbench/contrib/welcome/gettingStarted/electron-browser/gettingStarted.contribution';
import 'vs/workbench/contrib/welcome/overlay/browser/welcomeOverlay';
308
import 'vs/workbench/contrib/welcome/page/browser/welcomePage.contribution';
309

310
// Outline
J
Johannes Rieken 已提交
311
import 'vs/workbench/contrib/outline/browser/outline.contribution';
J
Johannes Rieken 已提交
312

313
// Experiments
314
import 'vs/workbench/contrib/experiments/electron-browser/experiments.contribution';
315

R
Rob DeLine 已提交
316
// Code Insets
317
import 'vs/workbench/contrib/codeinset/electron-browser/codeInset.contribution';
R
Rob DeLine 已提交
318

319 320 321
// Issues
import 'vs/workbench/contrib/issue/electron-browser/issue.contribution';

J
Johannes Rieken 已提交
322
//#endregion