如何在sh脚本中执行VS Code快捷键以自动创建终端并执行开发任务
可行实现方案
方案1:通过VS Code原生命令行实现(推荐)
完全不需要开发扩展,也不用模拟键盘快捷键,VS Code自带的code命令支持直接调用编辑器内部指令,完美匹配你的需求:
- 先把
code命令加入系统PATH:打开VS Code按Ctrl+Shift+P,输入「Shell Command: Install 'code' command in PATH」执行即可。 - 你需要的操作都可以直接在sh脚本中通过
code --command调用对应内部命令实现:- 新建终端(等效
Ctrl+Shift+``):code --command workbench.action.terminal.new` - 拆分终端(等效
Ctrl+Shift+5):code --command workbench.action.terminal.split - 给当前活跃终端发送并执行命令:
code --command 'workbench.action.terminal.sendSequence {"text":"你要执行的命令\u000D"}',其中\u000D是回车符,等效输入命令后按回车执行。
- 新建终端(等效
完整的脚本示例如下:
#!/bin/sh # 先打开你的工作区目录,替换成你自己的本地路径 code /path/to/your/workspace # 等待VS Code启动完成,时长可根据电脑性能自行调整 sleep 3 # 1. 第一个终端启动docker code --command workbench.action.terminal.new sleep 0.5 code --command 'workbench.action.terminal.sendSequence {"text":"docker start 你的容器名称\u000D"}' sleep 0.5 # 2. 第二个终端启动docker-compose code --command workbench.action.terminal.new sleep 0.5 code --command 'workbench.action.terminal.sendSequence {"text":"docker-compose up\u000D"}' sleep 0.5 # 剩余的make、npm run serve、python3、stripe listen命令按照上面的格式依次添加即可
这个方案稳定性远高于模拟快捷键,不会出现快捷键误发给其他窗口的问题。
方案2:系统级模拟键盘快捷键(不推荐)
如果确实需要在脚本中执行任意快捷键,可以调用对应系统的按键模拟工具实现:
- Linux:用
xdotool,示例:xdotool key ctrl+shift+grave即可触发新建终端快捷键 - macOS:用
osascript执行AppleScript模拟按键 - Windows:用
nircmd或者PowerShell的SendKeys接口实现
该方案要求执行快捷键时VS Code必须是当前活跃窗口,稳定性较差,仅作为备选。
额外优化方案
如果不需要用sh脚本触发,也可以直接在VS Code工作区的tasks.json中配置所有启动任务,一次性启动所有终端执行对应命令,无需额外写脚本。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

