有没有办法制作热键以在终端中运行特定命令?假设我想通过热键编译我的 TypeScript 文件,而不是键入终端“tsc”或该命令的任何其他变体。 (编辑:我知道可以在保存时重新编译 TS,但问题仍然相同)
最佳答案
通常,您会设置构建或其他任务或 npm 脚本,然后使用热键触发它。
send text to the terminal 还有另一种新方法.
例如,在您的键绑定(bind)中尝试此操作(首选项:打开键盘快捷键 (JSON)):
{
"key": "ctrl+alt+u",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "node -v\u000D"
}
}
对于 npm 脚本:{
"key": "ctrl+alt+u",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "npm run-script test\u000D"
}
}
第一个将运行 node -v
命令(\u000D
是一个返回,所以它运行)。我仍然建议实际设置一个构建任务,然后有用于运行构建任务的键:Ctrl-shift-B。或者一个 npm 脚本。例如,如果您要运行更复杂的脚本,请参阅 how to bind a task to a keybinding或 how to keybind an external command .
编辑 :从 v1.32 开始,您现在可以执行以下操作:
{
"key": "ctrl+shift+t",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "tsc '${file}'\u000D" }
}
您现在可以使用内置变量,例如 ${file}
, 与 sendSequence
键绑定(bind)中的命令。我包了${file}
如果您的目录结构中有一个名称中带有空格的文件夹,请用单引号引起来。和\u000D
是返回。
关于terminal - 在 VS 代码中运行终端命令的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52786022/