Skip to content

Commit cc70ca4

Browse files
committed
Add other items, make consistent with terminal view
1 parent 23a0806 commit cc70ca4

File tree

3 files changed

+85
-52
lines changed

3 files changed

+85
-52
lines changed

src/vs/workbench/contrib/terminal/browser/terminalActions.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ import { getColorClass, getIconId, getUriClasses } from './terminalIcon.js';
6262
import { killTerminalIcon, newTerminalIcon } from './terminalIcons.js';
6363
import { ITerminalQuickPickItem } from './terminalProfileQuickpick.js';
6464
import { TerminalTabList } from './terminalTabsList.js';
65+
import { ResourceContextKey } from '../../../common/contextkeys.js';
6566

6667
export const switchTerminalActionViewItemSeparator = '\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500';
6768
export const switchTerminalShowTabsTitle = localize('showTerminalTabs', "Show Tabs");
@@ -877,7 +878,14 @@ export function registerTerminalActions() {
877878
order: 4,
878879
when: ContextKeyExpr.equals('view', TERMINAL_VIEW_ID),
879880
isHiddenByDefault: true
880-
}
881+
},
882+
...[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].map(id => ({
883+
id,
884+
group: '1_shellIntegration',
885+
order: 4,
886+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
887+
isHiddenByDefault: true
888+
})),
881889
],
882890
run: (activeInstance) => activeInstance.xterm?.markTracker.scrollToPreviousMark(undefined, undefined, activeInstance.capabilities.has(TerminalCapability.CommandDetection))
883891
});
@@ -899,7 +907,14 @@ export function registerTerminalActions() {
899907
order: 5,
900908
when: ContextKeyExpr.equals('view', TERMINAL_VIEW_ID),
901909
isHiddenByDefault: true
902-
}
910+
},
911+
...[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].map(id => ({
912+
id,
913+
group: '1_shellIntegration',
914+
order: 5,
915+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
916+
isHiddenByDefault: true
917+
})),
903918
],
904919
run: (activeInstance) => {
905920
activeInstance.xterm?.markTracker.scrollToNextMark();

src/vs/workbench/contrib/terminal/browser/terminalMenus.ts

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -696,54 +696,56 @@ export function setupTerminalMenus(): void {
696696
group: '2_files'
697697
});
698698

699-
MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
700-
command: {
701-
id: TerminalCommandId.CreateTerminalEditorSameGroup,
702-
title: terminalStrings.new,
703-
icon: Codicon.plus
704-
},
705-
alt: {
706-
id: TerminalCommandId.Split,
707-
title: terminalStrings.split.value,
708-
icon: Codicon.splitHorizontal
709-
},
710-
group: 'navigation',
711-
order: 0,
712-
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal)
713-
});
714-
MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
715-
command: {
716-
id: TerminalCommandId.Clear,
717-
title: localize('workbench.action.terminal.clearLong', "Clear Terminal"),
718-
icon: Codicon.clearAll
719-
},
720-
group: 'navigation',
721-
order: 6,
722-
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
723-
isHiddenByDefault: true
724-
});
725-
MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
726-
command: {
727-
id: TerminalCommandId.RunActiveFile,
728-
title: localize('workbench.action.terminal.runActiveFile', "Run Active File"),
729-
icon: Codicon.run
730-
},
731-
group: 'navigation',
732-
order: 7,
733-
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
734-
isHiddenByDefault: true
735-
});
736-
MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
737-
command: {
738-
id: TerminalCommandId.RunSelectedText,
739-
title: localize('workbench.action.terminal.runSelectedText', "Run Selected Text"),
740-
icon: Codicon.selection
741-
},
742-
group: 'navigation',
743-
order: 8,
744-
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
745-
isHiddenByDefault: true
746-
});
699+
for (const menuId of [MenuId.EditorTitle, MenuId.CompactWindowEditorTitle]) {
700+
MenuRegistry.appendMenuItem(menuId, {
701+
command: {
702+
id: TerminalCommandId.CreateTerminalEditorSameGroup,
703+
title: terminalStrings.new,
704+
icon: Codicon.plus
705+
},
706+
alt: {
707+
id: TerminalCommandId.Split,
708+
title: terminalStrings.split.value,
709+
icon: Codicon.splitHorizontal
710+
},
711+
group: 'navigation',
712+
order: 0,
713+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal)
714+
});
715+
MenuRegistry.appendMenuItem(menuId, {
716+
command: {
717+
id: TerminalCommandId.Clear,
718+
title: localize('workbench.action.terminal.clearLong', "Clear Terminal"),
719+
icon: Codicon.clearAll
720+
},
721+
group: 'navigation',
722+
order: 6,
723+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
724+
isHiddenByDefault: true
725+
});
726+
MenuRegistry.appendMenuItem(menuId, {
727+
command: {
728+
id: TerminalCommandId.RunActiveFile,
729+
title: localize('workbench.action.terminal.runActiveFile', "Run Active File"),
730+
icon: Codicon.run
731+
},
732+
group: 'navigation',
733+
order: 7,
734+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
735+
isHiddenByDefault: true
736+
});
737+
MenuRegistry.appendMenuItem(menuId, {
738+
command: {
739+
id: TerminalCommandId.RunSelectedText,
740+
title: localize('workbench.action.terminal.runSelectedText', "Run Selected Text"),
741+
icon: Codicon.selection
742+
},
743+
group: 'navigation',
744+
order: 8,
745+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
746+
isHiddenByDefault: true
747+
});
748+
}
747749
}
748750

749751
export function getTerminalActionBarArgs(location: ITerminalLocationOptions, profiles: ITerminalProfile[], defaultProfileName: string, contributedProfiles: readonly IExtensionTerminalProfile[], terminalService: ITerminalService, dropdownMenu: IMenu, disposableStore: DisposableStore): {

src/vs/workbench/contrib/terminalContrib/history/browser/terminal.history.contribution.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import { KeyCode, KeyMod } from '../../../../../base/common/keyCodes.js';
77
import { Disposable, DisposableStore } from '../../../../../base/common/lifecycle.js';
8+
import { Schemas } from '../../../../../base/common/network.js';
89
import { localize2 } from '../../../../../nls.js';
910
import { AccessibleViewProviderId } from '../../../../../platform/accessibility/browser/accessibleView.js';
1011
import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../../platform/accessibility/common/accessibility.js';
@@ -14,6 +15,7 @@ import { IInstantiationService } from '../../../../../platform/instantiation/com
1415
import { KeybindingWeight } from '../../../../../platform/keybinding/common/keybindingsRegistry.js';
1516
import { TerminalCapability } from '../../../../../platform/terminal/common/capabilities/capabilities.js';
1617
import { TerminalLocation } from '../../../../../platform/terminal/common/terminal.js';
18+
import { ResourceContextKey } from '../../../../common/contextkeys.js';
1719
import { accessibleViewCurrentProviderId, accessibleViewIsShown } from '../../../accessibility/browser/accessibilityConfiguration.js';
1820
import type { ITerminalContribution, ITerminalInstance } from '../../../terminal/browser/terminal.js';
1921
import { registerActiveInstanceAction, registerTerminalAction } from '../../../terminal/browser/terminalActions.js';
@@ -124,7 +126,14 @@ registerActiveInstanceAction({
124126
order: 0,
125127
when: ContextKeyExpr.equals('view', TERMINAL_VIEW_ID),
126128
isHiddenByDefault: true
127-
}
129+
},
130+
...[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].map(id => ({
131+
id,
132+
group: '1_shellIntegration',
133+
order: 0,
134+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
135+
isHiddenByDefault: true
136+
})),
128137
],
129138
run: async (activeInstance, c) => {
130139
const history = TerminalHistoryContribution.get(activeInstance);
@@ -164,7 +173,14 @@ registerTerminalAction({
164173
order: 1,
165174
when: ContextKeyExpr.equals('view', TERMINAL_VIEW_ID),
166175
isHiddenByDefault: true
167-
}
176+
},
177+
...[MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].map(id => ({
178+
id,
179+
group: '1_shellIntegration',
180+
order: 1,
181+
when: ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeTerminal),
182+
isHiddenByDefault: true
183+
})),
168184
],
169185
run: async (c, accessor) => {
170186
let activeInstance = c.service.activeInstance;

0 commit comments

Comments
 (0)