diff --git a/extensions/markdown/src/features/preview.ts b/extensions/markdown/src/features/preview.ts index 5aef6b80c8fb9fb06b8cbcee6d83f0e618fc37cb..3b2cc65e932e053c73c036a01125665a77a23a54 100644 --- a/extensions/markdown/src/features/preview.ts +++ b/extensions/markdown/src/features/preview.ts @@ -48,6 +48,7 @@ export class MarkdownPreview { previewColumn, { enableScripts: true, enableCommandUris: true, + enableFindWidget: true, localResourceRoots: this.getLocalResourceRoots(_resource) }); diff --git a/src/vs/vscode.proposed.d.ts b/src/vs/vscode.proposed.d.ts index 371ccf3eeb6822447bf243c45be0e4aa33526b23..3884cffdbd1ea87978e62646b031bfc0c126ed50 100644 --- a/src/vs/vscode.proposed.d.ts +++ b/src/vs/vscode.proposed.d.ts @@ -528,6 +528,13 @@ declare module 'vscode' { */ readonly enableCommandUris?: boolean; + /** + * Should the find widget be enabled in the webview? + * + * Defaults to false. + */ + readonly enableFindWidget?: boolean; + /** * Should the webview's context be kept around even when the webview is no longer visible? * diff --git a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts index 9753acea7f4f83003a6c6d4308998b762d30e1ce..44f6a32151de2aa1a65d9cc2fa9fed0a6ee2d73f 100644 --- a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts +++ b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts @@ -84,7 +84,7 @@ export class ReleaseNotesManager { } } else { const uri = URI.parse('release-notes:' + version); - this._currentReleaseNotes = new WebviewInput(uri, title, { tryRestoreScrollPosition: true }, html, { + this._currentReleaseNotes = new WebviewInput(uri, title, { tryRestoreScrollPosition: true, enableFindWidget: true }, html, { onDidClickLink: uri => this.onDidClickLink(uri), onDispose: () => { this._currentReleaseNotes = undefined; } }, this._partService); diff --git a/src/vs/workbench/parts/webview/electron-browser/webviewEditor.ts b/src/vs/workbench/parts/webview/electron-browser/webviewEditor.ts index 6b5220bb581995070d1c1f78a181b72add9027ca..be6570114a55b295fa3039b945404f4c11dfe769 100644 --- a/src/vs/workbench/parts/webview/electron-browser/webviewEditor.ts +++ b/src/vs/workbench/parts/webview/electron-browser/webviewEditor.ts @@ -3,8 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -'use strict'; - import { TPromise } from 'vs/base/common/winjs.base'; import { IDisposable, } from 'vs/base/common/lifecycle'; import { EditorOptions } from 'vs/workbench/common/editor'; @@ -199,10 +197,12 @@ export class WebviewEditor extends BaseWebviewEditor { this._onDidFocusWebview.fire(); }); - this._contextKeyService = this._contextKeyService.createScoped(this.webviewContent); - this.contextKey = KEYBINDING_CONTEXT_WEBVIEWEDITOR_FOCUS.bindTo(this._contextKeyService); - this.findInputFocusContextKey = KEYBINDING_CONTEXT_WEBVIEWEDITOR_FIND_WIDGET_INPUT_FOCUSED.bindTo(this._contextKeyService); - this.findWidgetVisible = KEYBINDING_CONTEXT_WEBVIEW_FIND_WIDGET_VISIBLE.bindTo(this._contextKeyService); + if (input.options.enableFindWidget) { + this._contextKeyService = this._contextKeyService.createScoped(this.webviewContent); + this.contextKey = KEYBINDING_CONTEXT_WEBVIEWEDITOR_FOCUS.bindTo(this._contextKeyService); + this.findInputFocusContextKey = KEYBINDING_CONTEXT_WEBVIEWEDITOR_FIND_WIDGET_INPUT_FOCUSED.bindTo(this._contextKeyService); + this.findWidgetVisible = KEYBINDING_CONTEXT_WEBVIEW_FIND_WIDGET_VISIBLE.bindTo(this._contextKeyService); + } this._webview = new Webview( this._partService.getContainer(Parts.EDITOR_PART),