From a9c18951175ef3b2195430c2e56f1e9a715c52f4 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Wed, 20 Jan 2016 15:48:15 +0100 Subject: [PATCH] allow to provide ViewColumn with 'vscode.previewHtml' command --- extensions/vscode-api-tests/src/commands.test.ts | 2 +- src/vs/workbench/api/node/extHostApiCommands.ts | 13 +++++++++++++ .../parts/html/browser/html.contribution.ts | 13 +++++-------- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/extensions/vscode-api-tests/src/commands.test.ts b/extensions/vscode-api-tests/src/commands.test.ts index b495ad9ab9d..52adb458da8 100644 --- a/extensions/vscode-api-tests/src/commands.test.ts +++ b/extensions/vscode-api-tests/src/commands.test.ts @@ -49,7 +49,7 @@ suite("commands namespace tests", () => { let virtualDocumentUri = Uri.parse('speciale://authority/path') - return commands.executeCommand('workbench.html.preview', virtualDocumentUri).then(success => { + return commands.executeCommand('vscode.previewHtml', virtualDocumentUri).then(success => { assert.ok(success); registration.dispose(); }); diff --git a/src/vs/workbench/api/node/extHostApiCommands.ts b/src/vs/workbench/api/node/extHostApiCommands.ts index d812c1d59c1..95562968c51 100644 --- a/src/vs/workbench/api/node/extHostApiCommands.ts +++ b/src/vs/workbench/api/node/extHostApiCommands.ts @@ -145,6 +145,19 @@ class ExtHostApiCommands { ], returns: 'A promise that resolves to an array of TextEdits.' }); + + + this._register('vscode.previewHtml', (uri: URI, position?: vscode.ViewColumn) => { + return this._commands.executeCommand('_workbench.previewHtml', uri, + typeof position === 'number' ? typeConverters.fromViewColumn(position) : void 0); + + }, { + description: 'Preview an html document.', + args: [ + { name: 'uri', description: 'Uri of the document to preview.', constraint: URI }, + { name: 'column', description: '(optional) Column in which to preview.' }, + ] + }); } // --- command impl diff --git a/src/vs/workbench/parts/html/browser/html.contribution.ts b/src/vs/workbench/parts/html/browser/html.contribution.ts index 71501e8f088..b3cbcb96782 100644 --- a/src/vs/workbench/parts/html/browser/html.contribution.ts +++ b/src/vs/workbench/parts/html/browser/html.contribution.ts @@ -9,6 +9,7 @@ import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegi import {IInstantiationService, ServicesAccessor} from 'vs/platform/instantiation/common/instantiation'; import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService'; import URI from 'vs/base/common/uri'; +import {Position as EditorPosition} from 'vs/platform/editor/common/editor'; import {HtmlInput} from '../common/htmlInput'; import {HtmlPreviewPart} from 'vs/workbench/parts/html/browser/htmlPreviewPart'; import {Registry} from 'vs/platform/platform'; @@ -27,19 +28,15 @@ import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors'; // --- Register Commands KeybindingsRegistry.registerCommandDesc({ - id: 'workbench.html.preview', + id: '_workbench.previewHtml', weight: KeybindingsRegistry.WEIGHT.workbenchContrib(0), - description: { - description: 'Preview an html document.', - args: [{ name: 'uri', description: 'Uri of the document to preview.', constraint: URI }] - }, - handler(accessor: ServicesAccessor, args: [URI]) { + handler(accessor: ServicesAccessor, args: [URI, EditorPosition]) { - let [resource] = args; + let [resource, position] = args; let name = resource.fsPath; let input = accessor.get(IInstantiationService).createInstance(HtmlInput, name, undefined, resource); - return accessor.get(IWorkbenchEditorService).openEditor(input) + return accessor.get(IWorkbenchEditorService).openEditor(input, null, position) .then(editor => true); }, context: undefined, -- GitLab