sussudio
Version:
An unofficial VS Code Internal API
55 lines (54 loc) • 2.96 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 { Disposable } from "../../../base/common/lifecycle.mjs";
import { URI } from "../../../base/common/uri.mjs";
import { IExtensionsProfileScannerService } from "../common/extensionsProfileScannerService.mjs";
import { IExtensionsScannerService } from "../common/extensionsScannerService.mjs";
import { INativeServerExtensionManagementService } from "./extensionManagementService.mjs";
import { IExtensionIdentifier } from "../../extensions/common/extensions.mjs";
import { IFileService } from "../../files/common/files.mjs";
import { ILogService } from "../../log/common/log.mjs";
import { IUriIdentityService } from "../../uriIdentity/common/uriIdentity.mjs";
import { IUserDataProfilesService } from "../../userDataProfile/common/userDataProfile.mjs";
export interface DidChangeProfileExtensionsEvent {
readonly added?: {
readonly extensions: readonly IExtensionIdentifier[];
readonly profileLocation: URI;
};
readonly removed?: {
readonly extensions: readonly IExtensionIdentifier[];
readonly profileLocation: URI;
};
}
export declare class ExtensionsWatcher extends Disposable {
private readonly extensionManagementService;
private readonly extensionsScannerService;
private readonly userDataProfilesService;
private readonly extensionsProfileScannerService;
private readonly uriIdentityService;
private readonly fileService;
private readonly logService;
private readonly _onDidChangeExtensionsByAnotherSource;
readonly onDidChangeExtensionsByAnotherSource: import("../../../base/common/event.mjs").Event<DidChangeProfileExtensionsEvent>;
private readonly allExtensions;
private readonly extensionsProfileWatchDisposables;
constructor(extensionManagementService: INativeServerExtensionManagementService, extensionsScannerService: IExtensionsScannerService, userDataProfilesService: IUserDataProfilesService, extensionsProfileScannerService: IExtensionsProfileScannerService, uriIdentityService: IUriIdentityService, fileService: IFileService, logService: ILogService);
private initialize;
private registerListeners;
private onDidChangeProfiles;
private onAddExtensions;
private onDidAddExtensions;
private onRemoveExtensions;
private onDidRemoveExtensions;
private onDidFilesChange;
private onDidExtensionsProfileChange;
private populateExtensionsFromProfile;
private removeExtensionsFromProfile;
private uninstallExtensionsNotInProfiles;
private addExtensionWithKey;
private removeExtensionWithKey;
private getKey;
private fromKey;
}