我正在VSCode中创建一个扩展,当您单击选项"时,该扩展将关闭所有打开的文本文档;是";在CCD_ 1中。
按下";是";按钮会正常工作,但我想要";输入";按键盘上的键做同样的事情?注册命令时,如何监听按键?有可能吗?
这是我现在的代码:
context.subscriptions.push(
vscode.commands.registerCommand(
"close-tabs",
async (inputValue?: string) => {
const { activeTextEditor } = vscode.window;
if (!activeTextEditor) {
vscode.window.showInformationMessage("No active text editor");
return;
}
const answer = await vscode.window.showInformationMessage("Want to close tabs?", "Yes", "No");
if (answer === "Yes") {
vscode.commands.executeCommand("openEditors.closeAll");
}
// ON_ENTER: I was thinking an if case here that checks if enter has been pressed and also executes the command above?
}
)
);
重申。我如何选择";是";当按下";输入";钥匙
由于InformationMessage
框不是模态的,因此当它出现时不会获得焦点。
恐怕你必须让它成为模态——在你的情况下,这可能是可以接受的——才能得到你想要的行为:
const answer = await vscode.window.showInformationMessage("Want to close tabs?", { modal: true }, "Yes", "No");
然后消息框的第一个按钮会自动聚焦,输入会触发它。