You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在sh脚本中执行VS Code快捷键以自动创建终端并执行开发任务

可行实现方案

方案1:通过VS Code原生命令行实现(推荐)

完全不需要开发扩展,也不用模拟键盘快捷键,VS Code自带的code命令支持直接调用编辑器内部指令,完美匹配你的需求:

  1. 先把code命令加入系统PATH:打开VS Code按Ctrl+Shift+P,输入「Shell Command: Install 'code' command in PATH」执行即可。
  2. 你需要的操作都可以直接在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:36:10