@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
57 lines (55 loc) • 2.77 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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;
}