Я хочу использовать многоступенчатый ввод напрямую, например, пользователь выбирает F1 - и запускает шаги для выбора элементов.
В настоящее время я нашел следующий пример и удалил quickOpen и базовый ввод
https://github.com/microsoft/vscode-extension-samples/blob/master/quickinput-sample/src/extension.ts
import { window, commands, ExtensionContext } from 'vscode';
import { multiStepInput } from './multiStepInput';
export function activate(context: ExtensionContext) {
context.subscriptions.push(commands.registerCommand('samples.quickInput', async () => {
const options: { [key: string]: (context: ExtensionContext) => Promise<void> } = {
multiStepInput,
};
const quickPick = window.createQuickPick();
quickPick.items = Object.keys(options).map(label => ({ label }));
quickPick.onDidChangeSelection(selection => {
if (selection[0]) {
options[selection[0].label](context)
.catch(console.error);
}
});
quickPick.onDidHide(() => quickPick.dispose());
quickPick.show();
}));
}
Однако, когда я запускаю расширение, мне нужно выбрать первую запись multiStepInput, я хочу избежать ее и начать непосредственно с параметров выбора группы ресурсов (из примера) strong> Как мне это сделать? Я не могу пропустить первый (фиктивный) шаг, когда пользователь должен выбрать следующее:
showQuickPick,
showInputBox,
multiStepInput,
quickOpen,
Поскольку я прямо хочу явно использовать multiStepInput и не просить его выбрать
Я не хочу начинать с этого
Я хочу начать с этого, когда пользователь использует F1
multiStepInput(context).catch(console.error);
- person rioV8   schedule 10.06.2020activate
- person rioV8   schedule 10.06.2020options
- этоconst options = { multiStepInput, }
. Если вы не хотите показывать этот шаг, установитеoptions
те параметры, которые вам действительно нужны. - person Mosh Feu   schedule 10.06.2020