UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

57 lines (55 loc) 2.77 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { INativeEnvironmentService } from '../../environment/common/environment.mjs'; import { IExecutableBasedExtensionTip, IExtensionManagementService } from '../common/extensionManagement.mjs'; import { ExtensionTipsService as BaseExtensionTipsService } from '../common/extensionTipsService.mjs'; import { IExtensionRecommendationNotificationService } from '../../extensionRecommendations/common/extensionRecommendations.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { INativeHostService } from '../../native/electron-sandbox/native.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IStorageService } from '../../storage/common/storage.mjs'; import { ITelemetryService } from '../../telemetry/common/telemetry.mjs'; export declare class ExtensionTipsService extends BaseExtensionTipsService { private readonly environmentService; private readonly telemetryService; private readonly extensionManagementService; private readonly storageService; private readonly nativeHostService; private readonly extensionRecommendationNotificationService; private readonly highImportanceExecutableTips; private readonly mediumImportanceExecutableTips; private readonly allOtherExecutableTips; private highImportanceTipsByExe; private mediumImportanceTipsByExe; constructor( environmentService: INativeEnvironmentService, telemetryService: ITelemetryService, extensionManagementService: IExtensionManagementService, storageService: IStorageService, nativeHostService: INativeHostService, extensionRecommendationNotificationService: IExtensionRecommendationNotificationService, fileService: IFileService, productService: IProductService, ); getImportantExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]>; getOtherExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]>; private collectTips; private groupImportantTipsByExe; /** * High importance tips are prompted once per restart session */ private promptHighImportanceExeBasedTip; /** * Medium importance tips are prompted once per 7 days */ private promptMediumImportanceExeBasedTip; private promptExeRecommendations; private getLastPromptedMediumExeTime; private updateLastPromptedMediumExeTime; private getPromptedExecutableTips; private addToRecommendedExecutables; private groupByInstalled; private getValidExecutableBasedExtensionTips; }