workbench.main.ts 15.5 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
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
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';
93

94
import 'vs/workbench/services/bulkEdit/browser/bulkEditService';
95
import 'vs/workbench/services/integrity/node/integrityService';
96
import 'vs/workbench/services/keybinding/common/keybindingEditing';
97
import 'vs/workbench/services/hash/node/hashService';
98
import 'vs/workbench/services/textMate/electron-browser/textMateService';
99 100
import 'vs/workbench/services/configurationResolver/browser/configurationResolverService';
import 'vs/workbench/services/workspace/node/workspaceEditingService';
J
Johannes Rieken 已提交
101
import 'vs/workbench/services/extensions/common/inactiveExtensionUrlHandler';
102 103 104 105 106
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';
107
import 'vs/workbench/services/preferences/browser/preferencesService';
S
Sandeep Somavarapu 已提交
108
import 'vs/workbench/services/output/node/outputChannelModelService';
109
import 'vs/workbench/services/configuration/common/jsonEditingService';
110 111
import 'vs/workbench/services/textmodelResolver/common/textModelResolverService';
import 'vs/workbench/services/textfile/common/textFileService';
112
import 'vs/workbench/services/dialogs/browser/fileDialogService';
113
import 'vs/workbench/services/dialogs/electron-browser/dialogService';
B
Benjamin Pasero 已提交
114
import 'vs/workbench/services/backup/node/backupFileService';
115
import 'vs/workbench/services/editor/browser/editorService';
116
import 'vs/workbench/services/history/browser/history';
117
import 'vs/workbench/services/files/node/remoteFileService';
118
import 'vs/workbench/services/files2/common/fileService2';
119
import 'vs/workbench/services/activity/browser/activityService';
120
import 'vs/workbench/browser/parts/views/views';
121
import 'vs/workbench/services/keybinding/electron-browser/keybindingService';
122 123 124 125 126
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';
127
import 'vs/workbench/services/extensions/electron-browser/extensionService';
128
import 'vs/workbench/services/contextmenu/electron-browser/contextmenuService';
129
import 'vs/workbench/services/extensionManagement/node/multiExtensionManagement';
130
import 'vs/workbench/services/label/common/labelService';
131
import 'vs/workbench/services/extensions/electron-browser/extensionManagementServerService';
132
import 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
133
import 'vs/workbench/services/notification/common/notificationService';
J
Johannes Rieken 已提交
134
import 'vs/workbench/services/heap/node/heap';
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
registerSingleton(ISharedProcessService, SharedProcessService, true);
registerSingleton(ITelemetryService, TelemetryService);
156
registerSingleton(IProductService, ProductService, true);
157 158 159 160 161 162
registerSingleton(IWindowsService, WindowsService);
registerSingleton(IUpdateService, UpdateService);
registerSingleton(IIssueService, IssueService);
registerSingleton(IWorkspacesService, WorkspacesService);
registerSingleton(IMenubarService, MenubarService);
registerSingleton(IURLService, RelayURLService);
163 164 165

//#endregion

166 167 168 169 170 171 172 173 174 175 176 177
//#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
178

179
//#region --- workbench contributions
180

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

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

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

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

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

197
// Explorer
198 199 200
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 已提交
201

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

270
// Snippets
271 272 273 274 275
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 已提交
276

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

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

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

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

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

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

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

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

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

309 310 311
// Call Hierarchy
import 'vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution';

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

315
// Experiments
316
import 'vs/workbench/contrib/experiments/electron-browser/experiments.contribution';
317

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

321 322 323
// Issues
import 'vs/workbench/contrib/issue/electron-browser/issue.contribution';

J
Johannes Rieken 已提交
324
//#endregion