Skip to content

Commit e90faf1

Browse files
committed
breadcrumbs - add "Toggle Breadcrumbs" to "View" menu
1 parent d5eb9df commit e90faf1

3 files changed

Lines changed: 24 additions & 2 deletions

File tree

src/vs/code/electron-main/menus.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,7 @@ export class CodeMenu {
766766
const toggleMinimap = this.createMenuItem(nls.localize({ key: 'miToggleMinimap', comment: ['&& denotes a mnemonic'] }, "Toggle &&Minimap"), 'editor.action.toggleMinimap');
767767
const toggleRenderWhitespace = this.createMenuItem(nls.localize({ key: 'miToggleRenderWhitespace', comment: ['&& denotes a mnemonic'] }, "Toggle &&Render Whitespace"), 'editor.action.toggleRenderWhitespace');
768768
const toggleRenderControlCharacters = this.createMenuItem(nls.localize({ key: 'miToggleRenderControlCharacters', comment: ['&& denotes a mnemonic'] }, "Toggle &&Control Characters"), 'editor.action.toggleRenderControlCharacter');
769+
const toggleBreadcrumbs = this.createMenuItem(nls.localize({ key: 'miToggleBreadcrumbs', comment: ['&& denotes a mnemonic'] }, "Toggle &&Breadcrumbs"), 'breadcrumbs.toggle');
769770

770771
arrays.coalesce([
771772
commands,
@@ -788,7 +789,8 @@ export class CodeMenu {
788789
toggleWordWrap,
789790
toggleMinimap,
790791
toggleRenderWhitespace,
791-
toggleRenderControlCharacters
792+
toggleRenderControlCharacters,
793+
toggleBreadcrumbs
792794
]).forEach(item => viewMenu.append(item));
793795
}
794796

src/vs/workbench/browser/parts/editor/breadcrumbs.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,13 @@ export abstract class BreadcrumbsConfig<T> {
8585

8686
return {
8787
name,
88-
get value() { return value; },
88+
get value() {
89+
return value;
90+
},
91+
set value(newValue: T) {
92+
service.updateValue(name, newValue);
93+
value = newValue;
94+
},
8995
onDidChange: onDidChange.event,
9096
dispose(): void {
9197
listener.dispose();

src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
3939
import { localize } from 'vs/nls';
4040
import { WorkbenchListFocusContextKey, IListService } from 'vs/platform/list/browser/listService';
4141
import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
42+
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
4243

4344
class Item extends BreadcrumbsItem {
4445

@@ -356,6 +357,19 @@ MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
356357
title: localize('cmd.focus', "Focus Breadcrumbs")
357358
}
358359
});
360+
MenuRegistry.appendMenuItem(MenuId.MenubarViewMenu, {
361+
group: '5_editor',
362+
order: 99,
363+
command: {
364+
id: 'breadcrumbs.toggle',
365+
title: localize('cmd.toggle', "Toggle Breadcrumbs")
366+
}
367+
});
368+
CommandsRegistry.registerCommand('breadcrumbs.toggle', accessor => {
369+
let config = accessor.get(IConfigurationService);
370+
let value = BreadcrumbsConfig.IsEnabled.bindTo(config).value;
371+
BreadcrumbsConfig.IsEnabled.bindTo(config).value = !value;
372+
});
359373

360374
KeybindingsRegistry.registerCommandAndKeybindingRule({
361375
id: 'breadcrumbs.focus',

0 commit comments

Comments
 (0)