Path: blob/main/src/vs/workbench/api/browser/extensionHost.contribution.ts
5240 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { IWorkbenchContribution, WorkbenchPhase, registerWorkbenchContribution2 } from '../../common/contributions.js';6import { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';78// --- other interested parties9import { JSONValidationExtensionPoint } from '../common/jsonValidationExtensionPoint.js';10import { ColorExtensionPoint } from '../../services/themes/common/colorExtensionPoint.js';11import { IconExtensionPoint } from '../../services/themes/common/iconExtensionPoint.js';12import { TokenClassificationExtensionPoints } from '../../services/themes/common/tokenClassificationExtensionPoint.js';13import { LanguageConfigurationFileHandler } from '../../contrib/codeEditor/common/languageConfigurationExtensionPoint.js';14import { StatusBarItemsExtensionPoint } from './statusBarExtensionPoint.js';15import { CSSExtensionPoint } from '../../services/themes/browser/cssExtensionPoint.js';1617// --- mainThread participants18import './mainThreadLocalization.js';19import './mainThreadBulkEdits.js';20import './mainThreadLanguageModels.js';21import './mainThreadChatAgents2.js';22import './mainThreadChatCodeMapper.js';23import './mainThreadLanguageModelTools.js';24import './mainThreadEmbeddings.js';25import './mainThreadCodeInsets.js';26import './mainThreadCLICommands.js';27import './mainThreadClipboard.js';28import './mainThreadCommands.js';29import './mainThreadConfiguration.js';30import './mainThreadConsole.js';31import './mainThreadDebugService.js';32import './mainThreadDecorations.js';33import './mainThreadDiagnostics.js';34import './mainThreadDialogs.js';35import './mainThreadDocumentContentProviders.js';36import './mainThreadDocuments.js';37import './mainThreadDocumentsAndEditors.js';38import './mainThreadEditor.js';39import './mainThreadEditors.js';40import './mainThreadEditorTabs.js';41import './mainThreadErrors.js';42import './mainThreadExtensionService.js';43import './mainThreadFileSystem.js';44import './mainThreadFileSystemEventService.js';45import './mainThreadLanguageFeatures.js';46import './mainThreadLanguages.js';47import './mainThreadLogService.js';48import './mainThreadMessageService.js';49import './mainThreadManagedSockets.js';50import './mainThreadOutputService.js';51import './mainThreadProgress.js';52import './mainThreadQuickDiff.js';53import './mainThreadQuickOpen.js';54import './mainThreadRemoteConnectionData.js';55import './mainThreadSaveParticipant.js';56import './mainThreadSpeech.js';57import './mainThreadEditSessionIdentityParticipant.js';58import './mainThreadSCM.js';59import './mainThreadSearch.js';60import './mainThreadStatusBar.js';61import './mainThreadStorage.js';62import './mainThreadTelemetry.js';63import './mainThreadTerminalService.js';64import './mainThreadTerminalShellIntegration.js';65import './mainThreadTheming.js';66import './mainThreadTreeViews.js';67import './mainThreadDownloadService.js';68import './mainThreadUrls.js';69import './mainThreadUriOpeners.js';70import './mainThreadWindow.js';71import './mainThreadPower.js';72import './mainThreadWebviewManager.js';73import './mainThreadWorkspace.js';74import './mainThreadComments.js';75import './mainThreadNotebook.js';76import './mainThreadNotebookKernels.js';77import './mainThreadNotebookDocumentsAndEditors.js';78import './mainThreadNotebookRenderers.js';79import './mainThreadNotebookSaveParticipant.js';80import './mainThreadInteractive.js';81import './mainThreadTask.js';82import './mainThreadLabelService.js';83import './mainThreadTunnelService.js';84import './mainThreadAuthentication.js';85import './mainThreadTimeline.js';86import './mainThreadTesting.js';87import './mainThreadSecretState.js';88import './mainThreadShare.js';89import './mainThreadProfileContentHandlers.js';90import './mainThreadAiRelatedInformation.js';91import './mainThreadAiEmbeddingVector.js';92import './mainThreadAiSettingsSearch.js';93import './mainThreadMcp.js';94import './mainThreadChatContext.js';95import './mainThreadChatStatus.js';96import './mainThreadChatOutputRenderer.js';97import './mainThreadChatSessions.js';98import './mainThreadDataChannels.js';99import './mainThreadMeteredConnection.js';100import './mainThreadHooks.js';101102export class ExtensionPoints implements IWorkbenchContribution {103104static readonly ID = 'workbench.contrib.extensionPoints';105106constructor(107@IInstantiationService private readonly instantiationService: IInstantiationService108) {109// Classes that handle extension points...110this.instantiationService.createInstance(JSONValidationExtensionPoint);111this.instantiationService.createInstance(ColorExtensionPoint);112this.instantiationService.createInstance(IconExtensionPoint);113this.instantiationService.createInstance(TokenClassificationExtensionPoints);114this.instantiationService.createInstance(LanguageConfigurationFileHandler);115this.instantiationService.createInstance(StatusBarItemsExtensionPoint);116this.instantiationService.createInstance(CSSExtensionPoint);117}118}119120registerWorkbenchContribution2(ExtensionPoints.ID, ExtensionPoints, WorkbenchPhase.BlockStartup);121122123