sussudio
Version:
An unofficial VS Code Internal API
61 lines (60 loc) • 4.12 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 { Event } from "../../../base/common/event.mjs";
import { Disposable } from "../../../base/common/lifecycle.mjs";
import { URI } from "../../../base/common/uri.mjs";
import { IURITransformer } from "../../../base/common/uriIpc.mjs";
import { IChannel, IServerChannel } from "../../../base/parts/ipc/common/ipc.mjs";
import { IExtensionIdentifier, IExtensionTipsService, IGalleryExtension, IGalleryMetadata, ILocalExtension, IExtensionsControlManifest, InstallOptions, InstallVSIXOptions, UninstallOptions, Metadata, IExtensionManagementService, DidUninstallExtensionEvent, InstallExtensionEvent, InstallExtensionResult, UninstallExtensionEvent, InstallOperation } from "./extensionManagement.mjs";
import { ExtensionType, IExtensionManifest, TargetPlatform } from "../../extensions/common/extensions.mjs";
export declare class ExtensionManagementChannel implements IServerChannel {
private service;
private getUriTransformer;
onInstallExtension: Event<InstallExtensionEvent>;
onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
onUninstallExtension: Event<UninstallExtensionEvent>;
onDidUninstallExtension: Event<DidUninstallExtensionEvent>;
constructor(service: IExtensionManagementService, getUriTransformer: (requestContext: any) => IURITransformer | null);
listen(context: any, event: string): Event<any>;
call(context: any, command: string, args?: any): Promise<any>;
}
export declare class ExtensionManagementChannelClient extends Disposable implements IExtensionManagementService {
private readonly channel;
readonly _serviceBrand: undefined;
private readonly _onInstallExtension;
get onInstallExtension(): Event<InstallExtensionEvent>;
private readonly _onDidInstallExtensions;
get onDidInstallExtensions(): Event<readonly InstallExtensionResult[]>;
private readonly _onUninstallExtension;
get onUninstallExtension(): Event<UninstallExtensionEvent>;
private readonly _onDidUninstallExtension;
get onDidUninstallExtension(): Event<DidUninstallExtensionEvent>;
constructor(channel: IChannel);
private isUriComponents;
protected _targetPlatformPromise: Promise<TargetPlatform> | undefined;
getTargetPlatform(): Promise<TargetPlatform>;
canInstall(extension: IGalleryExtension): Promise<boolean>;
zip(extension: ILocalExtension): Promise<URI>;
unzip(zipLocation: URI): Promise<IExtensionIdentifier>;
install(vsix: URI, options?: InstallVSIXOptions): Promise<ILocalExtension>;
installFromLocation(location: URI, profileLocation: URI): Promise<ILocalExtension>;
getManifest(vsix: URI): Promise<IExtensionManifest>;
installFromGallery(extension: IGalleryExtension, installOptions?: InstallOptions): Promise<ILocalExtension>;
uninstall(extension: ILocalExtension, options?: UninstallOptions): Promise<void>;
reinstallFromGallery(extension: ILocalExtension): Promise<ILocalExtension>;
getInstalled(type?: ExtensionType | null, extensionsProfileResource?: URI): Promise<ILocalExtension[]>;
getMetadata(local: ILocalExtension): Promise<Metadata | undefined>;
updateMetadata(local: ILocalExtension, metadata: IGalleryMetadata): Promise<ILocalExtension>;
updateExtensionScope(local: ILocalExtension, isMachineScoped: boolean): Promise<ILocalExtension>;
getExtensionsControlManifest(): Promise<IExtensionsControlManifest>;
download(extension: IGalleryExtension, operation: InstallOperation): Promise<URI>;
registerParticipant(): void;
}
export declare class ExtensionTipsChannel implements IServerChannel {
private service;
constructor(service: IExtensionTipsService);
listen(context: any, event: string): Event<any>;
call(context: any, command: string, args?: any): Promise<any>;
}