提交 d6a3ca72 编写于 作者: J jeanp413

Setting to control whether to focus the inline editor in peek widget by default.

Fixes #23001
上级 edbe0c71
......@@ -542,6 +542,11 @@ export interface IEditorOptions {
* Controls fading out of unused variables.
*/
showUnused?: boolean;
/**
* Controls whether to focus the inline editor in the peek widget by default.
* Defaults to false.
*/
peekWidgetFocusInlineEditor?: boolean;
}
export interface IEditorConstructionOptions extends IEditorOptions {
......@@ -3121,6 +3126,7 @@ export const enum EditorOption {
overviewRulerBorder,
overviewRulerLanes,
parameterHints,
peekWidgetFocusInlineEditor,
quickSuggestions,
quickSuggestionsDelay,
readOnly,
......@@ -3485,6 +3491,10 @@ export const EditorOptions = {
3, 0, 3
)),
parameterHints: register(new EditorParameterHints()),
peekWidgetFocusInlineEditor: register(new EditorBooleanOption(
EditorOption.peekWidgetFocusInlineEditor, 'peekWidgetFocusInlineEditor', false,
{ description: nls.localize('peekWidgetFocusInlineEditor', "Controls whether to focus the inline editor in the peek widget by default.") }
)),
quickSuggestions: register(new EditorQuickSuggestions()),
quickSuggestionsDelay: register(new EditorIntOption(
EditorOption.quickSuggestionsDelay, 'quickSuggestionsDelay',
......
......@@ -25,6 +25,7 @@ import { IListService, WorkbenchListFocusContextKey } from 'vs/platform/list/bro
import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { EditorOption } from 'vs/editor/common/config/editorOptions';
export const ctxReferenceSearchVisible = new RawContextKey<boolean>('referenceSearchVisible', false);
......@@ -163,7 +164,11 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
let pos = new Position(range.startLineNumber, range.startColumn);
let selection = this._model.nearestReference(uri, pos);
if (selection) {
return this._widget.setSelection(selection);
return this._widget.setSelection(selection).then(() => {
if (this._widget && this._editor.getOption(EditorOption.peekWidgetFocusInlineEditor)) {
this._widget.focusOnPreviewEditor();
}
});
}
}
return undefined;
......@@ -201,10 +206,13 @@ export abstract class ReferencesController implements editorCommon.IEditorContri
}
const target = this._model.nextOrPreviousReference(source, fwd);
const editorFocus = this._editor.hasTextFocus();
const previewEditorFocus = this._widget.isPreviewEditorFocused();
await this._widget.setSelection(target);
await this._gotoReference(target);
if (editorFocus) {
this._editor.focus();
} else if (this._widget && previewEditorFocus) {
this._widget.focusOnPreviewEditor();
}
}
......
......@@ -2987,6 +2987,11 @@ declare namespace monaco.editor {
* Controls fading out of unused variables.
*/
showUnused?: boolean;
/**
* Controls whether to focus the inline editor in the peek widget by default.
* Defaults to false.
*/
peekWidgetFocusInlineEditor?: boolean;
}
export interface IEditorConstructionOptions extends IEditorOptions {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册