sussudio
Version:
An unofficial VS Code Internal API
36 lines (35 loc) • 2.47 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, UriDto } from "../../../base/common/uri.mjs";
import { IEnvironmentService } from "../../environment/common/environment.mjs";
import { IMainProcessService } from "../../ipc/electron-sandbox/services.mjs";
import { DidChangeProfilesEvent, IUserDataProfile, IUserDataProfileOptions, IUserDataProfilesService, IUserDataProfileUpdateOptions } from "../common/userDataProfile.mjs";
import { IAnyWorkspaceIdentifier } from "../../workspace/common/workspace.mjs";
export declare class UserDataProfilesNativeService extends Disposable implements IUserDataProfilesService {
readonly _serviceBrand: undefined;
private readonly channel;
readonly profilesHome: URI;
get defaultProfile(): IUserDataProfile;
private _profiles;
get profiles(): IUserDataProfile[];
private readonly _onDidChangeProfiles;
readonly onDidChangeProfiles: Event<DidChangeProfilesEvent>;
readonly onDidResetWorkspaces: Event<void>;
private enabled;
constructor(profiles: readonly UriDto<IUserDataProfile>[], mainProcessService: IMainProcessService, environmentService: IEnvironmentService);
setEnablement(enabled: boolean): void;
isEnabled(): boolean;
createNamedProfile(name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
createProfile(id: string, name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
createTransientProfile(workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
setProfileForWorkspace(workspaceIdentifier: IAnyWorkspaceIdentifier, profile: IUserDataProfile): Promise<void>;
removeProfile(profile: IUserDataProfile): Promise<void>;
updateProfile(profile: IUserDataProfile, updateOptions: IUserDataProfileUpdateOptions): Promise<IUserDataProfile>;
resetWorkspaces(): Promise<void>;
cleanUp(): Promise<void>;
cleanUpTransientProfiles(): Promise<void>;
}