Path: blob/main/src/vs/workbench/services/layout/common/workbenchModeService.ts
5241 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Event } from '../../../../base/common/event.js';6import { IStringDictionary } from '../../../../base/common/collections.js';7import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';89export const IWorkbenchModeService = createDecorator<IWorkbenchModeService>('workbenchModeService');1011export interface IWorkbenchModeConfiguration {12readonly id: string;13readonly name: string;14readonly settings: IStringDictionary<unknown>;15}1617export interface IWorkbenchModeService {18readonly _serviceBrand: undefined;1920/**21* The currently active workbench mode id, or undefined if using default settings22*/23readonly workbenchMode: string | undefined;2425/**26* Event fired when the workbench mode changes27*/28readonly onDidChangeWorkbenchMode: Event<string | undefined>;2930/**31* Resolve a workbench mode by its id32* @param id The id of the workbench mode to resolve33*/34getWorkbenchModeConfiguration(id: string): Promise<IWorkbenchModeConfiguration | undefined>;3536/**37* Get all workbench modes38*/39getWorkbenchModeConfigurations(): Promise<IWorkbenchModeConfiguration[]>;4041/**42* Set the active workbench mode. Pass undefined to clear the mode and return to defaults.43*/44setWorkbenchMode(workbenchMode: string | undefined): Promise<void>;45}4647export class DefaultWorkbenchModeService implements IWorkbenchModeService {4849readonly _serviceBrand: undefined;50readonly workbenchMode: string | undefined = undefined;51readonly onDidChangeWorkbenchMode: Event<string | undefined> = Event.None;5253getWorkbenchModeConfiguration(_id: string): Promise<IWorkbenchModeConfiguration | undefined> {54return Promise.resolve(undefined);55}5657getWorkbenchModeConfigurations(): Promise<IWorkbenchModeConfiguration[]> {58return Promise.resolve([]);59}6061setWorkbenchMode(_workbenchMode: string | undefined): Promise<void> {62return Promise.resolve();63}64}656667