提交 74b07c3b 编写于 作者: I isidor

Toggle Render Whitespace

上级 7bd205a3
...@@ -86,7 +86,24 @@ export class ChangeIndentationSizeAction extends EditorAction { ...@@ -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<boolean> {
this.editor.updateOptions({
renderWhitespace: !this.editor.getConfiguration().renderWhitespace
});
return TPromise.as(true);
}
}
// register actions // register actions
CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(IndentationToSpacesAction, IndentationToSpacesAction.ID, nls.localize('indentationToSpaces', "Convert Indentation to Spaces"))); 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(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(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")));
...@@ -23,7 +23,7 @@ import {IDisposable, combinedDispose} from 'vs/base/common/lifecycle'; ...@@ -23,7 +23,7 @@ import {IDisposable, combinedDispose} from 'vs/base/common/lifecycle';
import {ICommonCodeEditor} from 'vs/editor/common/editorCommon'; import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser'; import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser';
import {EndOfLineSequence, ITokenizedModel, EditorType, IEditorSelection, ITextModel, IDiffEditorModel, IEditor} from 'vs/editor/common/editorCommon'; 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 {EventType, ResourceEvent, EditorEvent, TextEditorSelectionEvent} from 'vs/workbench/common/events';
import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor'; import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor'; import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor';
...@@ -714,7 +714,7 @@ export interface IChangeEOLEntry extends IPickOpenEntry { ...@@ -714,7 +714,7 @@ export interface IChangeEOLEntry extends IPickOpenEntry {
eol: EndOfLineSequence; eol: EndOfLineSequence;
} }
export class ChangeIndentationAction extends Action { class ChangeIndentationAction extends Action {
public static ID = 'workbench.action.editor.changeIndentation'; public static ID = 'workbench.action.editor.changeIndentation';
public static LABEL = nls.localize('changeIndentation', "Change Indentation"); public static LABEL = nls.localize('changeIndentation', "Change Indentation");
...@@ -738,7 +738,7 @@ export class ChangeIndentationAction extends Action { ...@@ -738,7 +738,7 @@ export class ChangeIndentationAction extends Action {
} }
const control = <ICommonCodeEditor>activeEditor.getControl(); const control = <ICommonCodeEditor>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") placeHolder: nls.localize('pickAction', "Select Action")
}).then(action => action && action.run()); }).then(action => action && action.run());
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册