Path: blob/main/src/vs/workbench/services/extensionManagement/electron-browser/extensionTipsService.ts
3296 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 { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';6import { ISharedProcessService } from '../../../../platform/ipc/electron-browser/services.js';7import { IChannel } from '../../../../base/parts/ipc/common/ipc.js';8import { IExtensionTipsService, IExecutableBasedExtensionTip, IConfigBasedExtensionTip } from '../../../../platform/extensionManagement/common/extensionManagement.js';9import { URI } from '../../../../base/common/uri.js';10import { ExtensionTipsService } from '../../../../platform/extensionManagement/common/extensionTipsService.js';11import { IFileService } from '../../../../platform/files/common/files.js';12import { IProductService } from '../../../../platform/product/common/productService.js';13import { Schemas } from '../../../../base/common/network.js';1415class NativeExtensionTipsService extends ExtensionTipsService implements IExtensionTipsService {1617private readonly channel: IChannel;1819constructor(20@IFileService fileService: IFileService,21@IProductService productService: IProductService,22@ISharedProcessService sharedProcessService: ISharedProcessService23) {24super(fileService, productService);25this.channel = sharedProcessService.getChannel('extensionTipsService');26}2728override getConfigBasedTips(folder: URI): Promise<IConfigBasedExtensionTip[]> {29if (folder.scheme === Schemas.file) {30return this.channel.call<IConfigBasedExtensionTip[]>('getConfigBasedTips', [folder]);31}32return super.getConfigBasedTips(folder);33}3435override getImportantExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]> {36return this.channel.call<IExecutableBasedExtensionTip[]>('getImportantExecutableBasedTips');37}3839override getOtherExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]> {40return this.channel.call<IExecutableBasedExtensionTip[]>('getOtherExecutableBasedTips');41}4243}4445registerSingleton(IExtensionTipsService, NativeExtensionTipsService, InstantiationType.Delayed);464748