Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { SyncDescriptor } from '../../../../platform/instantiation/common/descri
import { Registry } from '../../../../platform/registry/common/platform.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { registerWorkbenchContribution2, WorkbenchPhase } from '../../../../workbench/common/contributions.js';
import { IViewContainersRegistry, ViewContainerLocation, IViewsRegistry, Extensions as ViewContainerExtensions, WindowVisibility } from '../../../../workbench/common/views.js';
import { IViewContainersRegistry, ViewContainerLocation, IViewsRegistry, Extensions as ViewContainerExtensions, WindowEnablement } from '../../../../workbench/common/views.js';
import { CHANGES_VIEW_CONTAINER_ID, CHANGES_VIEW_ID } from '../common/changes.js';
import { ChangesViewPane, ChangesViewPaneContainer } from './changesView.js';
import { ChangesTitleBarContribution } from './changesTitleBarWidget.js';
Expand Down Expand Up @@ -40,7 +40,7 @@ const changesViewContainer = viewContainersRegistry.registerViewContainer({
},
order: 1,
},
windowVisibility: WindowVisibility.Sessions
windowEnablement: WindowEnablement.Sessions
}, ViewContainerLocation.AuxiliaryBar);

const viewsRegistry = Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry);
Expand All @@ -54,7 +54,7 @@ viewsRegistry.registerViews([{
canMoveView: false,
weight: 100,
order: 1,
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}], changesViewContainer);

registerWorkbenchContribution2(ChangesTitleBarContribution.ID, ChangesTitleBarContribution, WorkbenchPhase.AfterRestored);
10 changes: 5 additions & 5 deletions src/vs/sessions/contrib/chat/browser/chat.contribution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { ServicesAccessor } from '../../../../editor/browser/editorExtensions.js
import { localize, localize2 } from '../../../../nls.js';
import { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../../workbench/common/contributions.js';
import { IViewContainersRegistry, IViewsRegistry, ViewContainerLocation, Extensions as ViewExtensions, WindowVisibility } from '../../../../workbench/common/views.js';
import { IViewContainersRegistry, IViewsRegistry, ViewContainerLocation, Extensions as ViewExtensions, WindowEnablement } from '../../../../workbench/common/views.js';
import { Registry } from '../../../../platform/registry/common/platform.js';
import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';
import { ISessionsManagementService } from '../../../services/sessions/common/sessionsManagement.js';
Expand Down Expand Up @@ -100,7 +100,7 @@ class RegisterChatViewContainerContribution implements IWorkbenchContribution {
storageId: ChatViewContainerId,
hideIfEmpty: true,
order: 1,
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}, ViewContainerLocation.ChatBar, { isDefault: true, doNotRegisterOpenCommand: true });

viewsRegistry.registerViews([{
Expand All @@ -113,7 +113,7 @@ class RegisterChatViewContainerContribution implements IWorkbenchContribution {
canMoveView: false,
ctorDescriptor: new SyncDescriptor(ChatViewPane),
when: ContextKeyExpr.and(IsNewChatSessionContext.negate(), IsNewChatInSessionContext.negate()),
windowVisibility: WindowVisibility.Sessions
windowEnablement: WindowEnablement.Sessions
}, {
id: SessionsViewId,
containerIcon: chatViewContainer.icon,
Expand All @@ -124,7 +124,7 @@ class RegisterChatViewContainerContribution implements IWorkbenchContribution {
canMoveView: false,
ctorDescriptor: new SyncDescriptor(NewChatViewPane),
when: IsNewChatSessionContext,
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}, {
id: NewChatInSessionViewId,
containerIcon: chatViewContainer.icon,
Expand All @@ -135,7 +135,7 @@ class RegisterChatViewContainerContribution implements IWorkbenchContribution {
canMoveView: false,
ctorDescriptor: new SyncDescriptor(NewChatInSessionViewPane),
when: ContextKeyExpr.and(IsNewChatSessionContext.negate(), IsNewChatInSessionContext),
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}], chatViewContainer);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Registry } from '../../../../platform/registry/common/platform.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { ViewPaneContainer } from '../../../../workbench/browser/parts/views/viewPaneContainer.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../../workbench/common/contributions.js';
import { IViewContainersRegistry, IViewDescriptor, IViewsRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, WindowVisibility } from '../../../../workbench/common/views.js';
import { IViewContainersRegistry, IViewDescriptor, IViewsRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, WindowEnablement } from '../../../../workbench/common/views.js';

const COPILOT_CHAT_VIEW_CONTAINER_ID = 'workbench.view.extension.copilot-chat';
const COPILOT_CHAT_VIEW_ID = 'copilot-chat';
Expand Down Expand Up @@ -70,14 +70,14 @@ class RegisterChatDebugViewContribution extends Disposable implements IWorkbench
ctorDescriptor: new SyncDescriptor(ViewPaneContainer, [SESSIONS_CHAT_DEBUG_CONTAINER_ID, { mergeViewWithContainerWhenSingleView: true }]),
storageId: SESSIONS_CHAT_DEBUG_CONTAINER_ID,
hideIfEmpty: true,
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}, ViewContainerLocation.Panel, { doNotRegisterOpenCommand: true });

// Re-register the view inside the new sessions container
const sessionsView: IViewDescriptor = {
...view,
canMoveView: false,
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
};
viewsRegistry.registerViews([sessionsView], chatDebugViewContainer);

Expand Down
8 changes: 4 additions & 4 deletions src/vs/sessions/contrib/files/browser/files.contribution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { ServicesAccessor } from '../../../../platform/instantiation/common/inst
import { Registry } from '../../../../platform/registry/common/platform.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../../workbench/common/contributions.js';
import { IViewContainersRegistry, IViewsRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, WindowVisibility } from '../../../../workbench/common/views.js';
import { IViewContainersRegistry, IViewsRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, WindowEnablement } from '../../../../workbench/common/views.js';
import { ExplorerView } from '../../../../workbench/contrib/files/browser/views/explorerView.js';
import { ViewPaneContainer } from '../../../../workbench/browser/parts/views/viewPaneContainer.js';
import { IViewsService } from '../../../../workbench/services/views/common/viewsService.js';
Expand Down Expand Up @@ -42,7 +42,7 @@ const filesViewContainer = viewContainerRegistry.registerViewContainer({
keybindings: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyE },
order: 0
},
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}, ViewContainerLocation.AuxiliaryBar, { isDefault: true });

class RegisterFilesViewContribution implements IWorkbenchContribution {
Expand All @@ -61,7 +61,7 @@ class RegisterFilesViewContribution implements IWorkbenchContribution {
canToggleVisibility: false,
canMoveView: false,
when: WorkspaceFolderCountContext.notEqualsTo('0'),
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}], filesViewContainer);

// Register an empty view to show when there are no workspace folders
Expand All @@ -73,7 +73,7 @@ class RegisterFilesViewContribution implements IWorkbenchContribution {
canToggleVisibility: false,
canMoveView: false,
when: WorkspaceFolderCountContext.isEqualTo('0'),
windowVisibility: WindowVisibility.Sessions,
windowEnablement: WindowEnablement.Sessions,
}], filesViewContainer);
}
}
Expand Down
67 changes: 0 additions & 67 deletions src/vs/sessions/contrib/logs/browser/logs.contribution.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';
import { Registry } from '../../../../platform/registry/common/platform.js';
import { IViewDescriptor, IViewsRegistry, Extensions as ViewContainerExtensions, WindowVisibility, ViewContainer, IViewContainersRegistry, ViewContainerLocation } from '../../../../workbench/common/views.js';
import { IViewDescriptor, IViewsRegistry, Extensions as ViewContainerExtensions, WindowEnablement, ViewContainer, IViewContainersRegistry, ViewContainerLocation } from '../../../../workbench/common/views.js';
import { localize, localize2 } from '../../../../nls.js';
import { Codicon } from '../../../../base/common/codicons.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
Expand All @@ -15,6 +15,7 @@ import { SessionsTitleBarContribution } from './sessionsTitleBarWidget.js';
import { SessionsView, SessionsViewId } from './views/sessionsView.js';
import './views/sessionsViewActions.js';
import './sessionsActions.js';
import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';

const agentSessionsViewIcon = registerIcon('chat-sessions-icon', Codicon.commentDiscussionSparkle, localize('agentSessionsViewIcon', 'Icon for Agent Sessions View'));
const AGENT_SESSIONS_VIEW_TITLE = localize2('agentSessions.view.label', "Sessions");
Expand All @@ -31,9 +32,10 @@ const agentSessionsViewContainer: ViewContainer = Registry.as<IViewContainersReg
openCommandActionDescriptor: {
id: SessionsContainerId,
mnemonicTitle: localize({ key: 'miSessions', comment: ['&& denotes a mnemonic'] }, "&&Sessions"),
keybindings: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyX },
order: 0
},
windowVisibility: WindowVisibility.Sessions
windowEnablement: WindowEnablement.Sessions
}, ViewContainerLocation.Sidebar, { isDefault: true });

const sessionsViewPaneDescriptor: IViewDescriptor = {
Expand All @@ -45,7 +47,7 @@ const sessionsViewPaneDescriptor: IViewDescriptor = {
canToggleVisibility: true,
canMoveView: false,
ctorDescriptor: new SyncDescriptor(SessionsView),
windowVisibility: WindowVisibility.Sessions
windowEnablement: WindowEnablement.Sessions
};

Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry).registerViews([sessionsViewPaneDescriptor], agentSessionsViewContainer);
Expand Down
1 change: 0 additions & 1 deletion src/vs/sessions/sessions.common.main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,6 @@ import './contrib/workingSet/browser/workingSet.contribution.js';
import './contrib/editor/browser/editor.contribution.js';

import './contrib/terminal/browser/sessionsTerminalContribution.js';
import './contrib/logs/browser/logs.contribution.js';
import './contrib/chatDebug/browser/chatDebug.contribution.js';
import './contrib/workspace/browser/workspace.contribution.js';
import './contrib/welcome/browser/welcome.contribution.js';
Expand Down
12 changes: 6 additions & 6 deletions src/vs/workbench/common/views.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ type OpenCommandActionDescriptor = {
/**
* Specifies in which window a view or view container should be visible.
*/
export const enum WindowVisibility {
export const enum WindowEnablement {
/**
* Visible only in the editor window
*/
Expand Down Expand Up @@ -140,10 +140,10 @@ export interface IViewContainerDescriptor {
readonly rejectAddedViews?: boolean;

/**
* Specifies in which window this view container should be visible.
* Defaults to WindowVisibility.Editor
* Specifies in which window this view container should be enabled.
* Defaults to WindowEnablement.Editor
*/
readonly windowVisibility?: WindowVisibility;
readonly windowEnablement?: WindowEnablement;

requestedIndex?: number;
}
Expand Down Expand Up @@ -328,9 +328,9 @@ export interface IViewDescriptor {

/**
* Specifies in which window this view should be visible.
* Defaults to WindowVisibility.Workbench (main workbench only).
* Defaults to WindowEnablement.Workbench (main workbench only).
*/
readonly windowVisibility?: WindowVisibility;
readonly windowEnablement?: WindowEnablement;
}

export interface ICustomViewDescriptor extends IViewDescriptor {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { SyncDescriptor } from '../../../../platform/instantiation/common/descri
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from '../../../common/contributions.js';
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
import { ViewContainer, IViewContainersRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, IViewsRegistry } from '../../../common/views.js';
import { ViewContainer, IViewContainersRegistry, ViewContainerLocation, Extensions as ViewContainerExtensions, IViewsRegistry, WindowEnablement } from '../../../common/views.js';
import { IViewsService } from '../../../services/views/common/viewsService.js';
import { ViewPaneContainer } from '../../../browser/parts/views/viewPaneContainer.js';
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from '../../../../platform/configuration/common/configurationRegistry.js';
Expand Down Expand Up @@ -78,6 +78,7 @@ const VIEW_CONTAINER: ViewContainer = Registry.as<IViewContainersRegistry>(ViewC
ctorDescriptor: new SyncDescriptor(ViewPaneContainer, [OUTPUT_VIEW_ID, { mergeViewWithContainerWhenSingleView: true }]),
storageId: OUTPUT_VIEW_ID,
hideIfEmpty: true,
windowEnablement: WindowEnablement.Both
}, ViewContainerLocation.Panel, { doNotRegisterOpenCommand: true });

Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry).registerViews([{
Expand All @@ -97,7 +98,8 @@ Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry).registerViews
}
},
order: 1,
}
},
windowEnablement: WindowEnablement.Both
}], VIEW_CONTAINER);

class OutputContribution extends Disposable implements IWorkbenchContribution {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { EditorPaneDescriptor, IEditorPaneRegistry } from '../../../browser/edit
import { ViewPaneContainer } from '../../../browser/parts/views/viewPaneContainer.js';
import { WorkbenchPhase, registerWorkbenchContribution2 } from '../../../common/contributions.js';
import { EditorExtensions, IEditorFactoryRegistry } from '../../../common/editor.js';
import { IViewContainersRegistry, IViewsRegistry, Extensions as ViewContainerExtensions, ViewContainerLocation, WindowVisibility } from '../../../common/views.js';
import { IViewContainersRegistry, IViewsRegistry, Extensions as ViewContainerExtensions, ViewContainerLocation, WindowEnablement } from '../../../common/views.js';
import { ITerminalProfileService, TERMINAL_VIEW_ID, TerminalCommandId } from '../common/terminal.js';
import { TerminalEditingService } from './terminalEditingService.js';
import { registerColors } from '../common/terminalColorRegistry.js';
Expand Down Expand Up @@ -113,7 +113,7 @@ const VIEW_CONTAINER = Registry.as<IViewContainersRegistry>(ViewContainerExtensi
storageId: TERMINAL_VIEW_ID,
hideIfEmpty: true,
order: 3,
windowVisibility: WindowVisibility.Both
windowEnablement: WindowEnablement.Both
}, ViewContainerLocation.Panel, { doNotRegisterOpenCommand: true, isDefault: true });
Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry).registerViews([{
id: TERMINAL_VIEW_ID,
Expand All @@ -122,7 +122,7 @@ Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry).registerViews
canToggleVisibility: true,
canMoveView: true,
ctorDescriptor: new SyncDescriptor(TerminalViewPane),
windowVisibility: WindowVisibility.Both,
windowEnablement: WindowEnablement.Both,
openCommandActionDescriptor: {
id: TerminalCommandId.Toggle,
mnemonicTitle: nls.localize({ key: 'miToggleIntegratedTerminal', comment: ['&& denotes a mnemonic'] }, "&&Terminal"),
Expand Down
Loading
Loading