Javascript VSCode扩展直接使用多步输入

Javascript VSCode扩展直接使用多步输入,javascript,node.js,typescript,visual-studio-code,vscode-extensions,Javascript,Node.js,Typescript,Visual Studio Code,Vscode Extensions,我想直接使用多步骤输入,例如用户选择 F1-然后开始选择项目的步骤 目前,我找到了以下示例,并删除了quickOpen和basic输入 因为我直接想明确使用多步输入,而不要求选择它 我不想从这个开始 当用户使用F1时,我想从此开始 当前第一次选项是[多步输入] const options={multiStepInput} 如果不想显示该步骤,请将options设置为真正需要的选项 (类型) 诸如此类: commands.registerCommand('samples.quickInpu

我想直接使用多步骤输入,例如用户选择 F1-然后开始选择项目的步骤

目前,我找到了以下示例,并删除了quickOpen和basic输入

因为我直接想明确使用多步输入,而不要求选择它

我不想从这个开始

当用户使用F1时,我想从此开始


当前第一次选项是
[多步输入]

const options={multiStepInput}
如果不想显示该步骤,请将
options
设置为真正需要的选项 (类型)

诸如此类:

commands.registerCommand('samples.quickInput', async () => {
  const options = ['vscode-data-function', 'vscode-appservice-microservices', 'vscode-appservice-monitor', 'vscode-appservice-preview', 'vscode-appservice-prod'].map(label => ({label}));
  const quickPick = window.createQuickPick();
  quickPick.items = options;
  quickPick.onDidChangeSelection(([{label}]) => {
    window.showInformationMessage(label);
    quickPick.hide();
  });
  quickPick.show();
})

更新 如果您只想跳过第一个快速输入并立即启动
多步骤输入
,您可以在命令处理程序中删除所有剩余的代码,然后使用此命令

context.subscriptions.push(commands.registerCommand('samples.quickInput', async () => {
  multiStepInput(context);
}));
这相当于

options[selection[0].label](context)

因为选择了
multisteppinput
时,
options[selection[0].label]
multisteppinput

如果调用
multisteppinput(context).catch(console.error)@rioV8-我不确定我是否理解上下文,请提供所有代码好吗?它应该在register命令中吗?怎么做?你看过
activate
call@rioV8-是的,我尝试过很多东西……目前第一个
选项是
const options={multiStepInput,}
。如果您不想显示该步骤,请设置
选项
您真正想要的选项..我尝试了它,但不确定如何在上下文中使用它,您能否使用我问题中的代码进行更新?我希望启动此扩展时将直接调用
'./multiStepInput'
,因为我已经更新了答案,如果这是您的意思,请告诉我Hanks 1+,这很接近:),我希望这些步骤将继续执行“/multiStepInput”和“/multiStepInput”文件中的所有步骤,只是省略第一个选择。在这里,您只使用多步骤示例中的一个步骤,我需要它们全部省略第一个步骤。谢谢Greate将检查它:)
context.subscriptions.push(commands.registerCommand('samples.quickInput', async () => {
  multiStepInput(context);
}));
options[selection[0].label](context)