Я пытаюсь написать расширение, которое будет автоматически выбирать слово под курсором, открывать диалог поиска в файлах и запускать поиск с этим выбором. До сих пор мне удавалось заставить расширение делать все, кроме фактической инициации поиска. Мне все еще нужно нажать Enter в диалоге поиска в файлах, чтобы выполнить поиск. Вот код расширения, который у меня есть:
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.searchUnderCursor', () => {
// Get the current editor
let editor = vscode.window.activeTextEditor;
if (!editor) {
console.log('No active editor!');
return;
}
// Get word under cursor position
let wordRange = editor.document.getWordRangeAtPosition(editor.selection.start);
if (!wordRange) {
console.log('No word under the cursor!');
return;
}
// Select the word
editor.selection = new vscode.Selection(wordRange.start, wordRange.end);
// Initiate search
vscode.commands.executeCommand('workbench.action.findInFiles').then(() => {
vscode.commands.executeCommand('default:type', {text: '\n'});
});
});
context.subscriptions.push(disposable);
}
export function deactivate() {}
Вы видите, что я пытался найти способ нажать Enter в диалоге поиска в файлах, чтобы начать поиск. Конечно, это не работает. Как я могу получить функциональность, которую я собираюсь здесь?