From 74b07c3b96bc5ac69c933eefc6ce82b5e6fffed2 Mon Sep 17 00:00:00 2001 From: isidor Date: Tue, 1 Mar 2016 16:49:51 +0100 Subject: [PATCH] Toggle Render Whitespace --- .../contrib/indentation/common/indentation.ts | 17 +++++++++++++++++ .../browser/parts/editor/editorStatus.ts | 6 +++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/vs/editor/contrib/indentation/common/indentation.ts b/src/vs/editor/contrib/indentation/common/indentation.ts index cace93da42e..975b171ba43 100644 --- a/src/vs/editor/contrib/indentation/common/indentation.ts +++ b/src/vs/editor/contrib/indentation/common/indentation.ts @@ -86,7 +86,24 @@ export class ChangeIndentationSizeAction extends EditorAction { } } +export class ToggleRenderWhitespaceAction extends EditorAction { + static ID = 'editor.action.toggleRenderWhitespace'; + + constructor(descriptor: IEditorActionDescriptorData, editor: ICommonCodeEditor) { + super(descriptor, editor); + } + + public run(): TPromise { + this.editor.updateOptions({ + renderWhitespace: !this.editor.getConfiguration().renderWhitespace + }); + + return TPromise.as(true); + } +} + // register actions CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(IndentationToSpacesAction, IndentationToSpacesAction.ID, nls.localize('indentationToSpaces', "Convert Indentation to Spaces"))); CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(IndentationToTabsAction, IndentationToTabsAction.ID, nls.localize('indentationToTabs', "Convert Indentation to Tabs"))); CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(ChangeIndentationSizeAction, ChangeIndentationSizeAction.ID, nls.localize('changeIndentationSize', "Change Tab Size for Current File"))); +CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(ToggleRenderWhitespaceAction, ToggleRenderWhitespaceAction.ID, nls.localize('toggleRenderWhitespace', "Toggle Render Whitespace"))); diff --git a/src/vs/workbench/browser/parts/editor/editorStatus.ts b/src/vs/workbench/browser/parts/editor/editorStatus.ts index c567b3e900c..8b9e68abde7 100644 --- a/src/vs/workbench/browser/parts/editor/editorStatus.ts +++ b/src/vs/workbench/browser/parts/editor/editorStatus.ts @@ -23,7 +23,7 @@ import {IDisposable, combinedDispose} from 'vs/base/common/lifecycle'; import {ICommonCodeEditor} from 'vs/editor/common/editorCommon'; import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser'; import {EndOfLineSequence, ITokenizedModel, EditorType, IEditorSelection, ITextModel, IDiffEditorModel, IEditor} from 'vs/editor/common/editorCommon'; -import {ChangeIndentationSizeAction, IndentationToSpacesAction, IndentationToTabsAction} from 'vs/editor/contrib/indentation/common/indentation'; +import {ChangeIndentationSizeAction, IndentationToSpacesAction, IndentationToTabsAction, ToggleRenderWhitespaceAction} from 'vs/editor/contrib/indentation/common/indentation'; import {EventType, ResourceEvent, EditorEvent, TextEditorSelectionEvent} from 'vs/workbench/common/events'; import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor'; import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor'; @@ -714,7 +714,7 @@ export interface IChangeEOLEntry extends IPickOpenEntry { eol: EndOfLineSequence; } -export class ChangeIndentationAction extends Action { +class ChangeIndentationAction extends Action { public static ID = 'workbench.action.editor.changeIndentation'; public static LABEL = nls.localize('changeIndentation', "Change Indentation"); @@ -738,7 +738,7 @@ export class ChangeIndentationAction extends Action { } const control = activeEditor.getControl(); - return this.quickOpenService.pick([control.getAction(ChangeIndentationSizeAction.ID), control.getAction(IndentationToSpacesAction.ID), control.getAction(IndentationToTabsAction.ID)], { + return this.quickOpenService.pick([control.getAction(ChangeIndentationSizeAction.ID), control.getAction(IndentationToSpacesAction.ID), control.getAction(IndentationToTabsAction.ID), control.getAction(ToggleRenderWhitespaceAction.ID)], { placeHolder: nls.localize('pickAction', "Select Action") }).then(action => action && action.run()); } -- GitLab