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

如何在Visual Studio Code中以编程方式打开终端并运行脚本?

在VSCode中通过脚本实现并排终端同时运行前后端脚本

两种需求都可以实现,以下是具体的实现方案:

方式1:打开新VSCode实例并创建两个终端运行命令

利用VSCode的命令行工具code结合内置命令,通过脚本自动完成终端创建和命令发送:

Bash/Zsh 脚本示例

# 打开当前目录的新VSCode实例
code . &
# 等待VSCode启动(根据机器性能调整等待时间)
sleep 3

# 给第一个终端发送后端启动命令(替换为你的实际命令)
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./backend && npm run start\n"}'

# 创建第二个并排终端
code --command "workbench.action.terminal.new"

# 给第二个终端发送前端启动命令(替换为你的实际命令)
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./frontend && npm run dev\n"}'

PowerShell 脚本示例

# 启动新的VSCode实例打开当前目录
Start-Process code .
# 等待VSCode初始化完成
Start-Sleep -Seconds 3

# 向后端终端发送启动命令
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./backend; npm run start`n"}'

# 创建第二个终端
code --command "workbench.action.terminal.new"

# 向前端终端发送启动命令
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./frontend; npm run dev`n"}'

注意事项:

  • 等待时间需要根据你的机器性能调整,确保VSCode完全启动后再发送命令
  • 命令中的路径建议使用绝对路径,避免相对路径导致的执行失败
  • sendSequence的text参数末尾必须加\n(Bash)或`n(PowerShell),模拟回车执行命令

方式2:在已打开的VSCode实例中触发第二个终端运行命令

同样使用code命令连接已打开的VSCode实例,执行终端创建和命令发送:

Bash/Zsh 脚本示例

# 创建第二个终端
code --command "workbench.action.terminal.new"

# 给新终端发送前端启动命令
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./frontend && npm run dev\n"}'

PowerShell 脚本示例

# 创建第二个终端
code --command "workbench.action.terminal.new"

# 给新终端发送前端启动命令
code --command "workbench.action.terminal.sendSequence" --args '{"text": "cd ./frontend; npm run dev`n"}'

更稳定的替代方案:使用VSCode Tasks

如果你希望更可靠的实现(无需等待时间、自动管理终端分组),可以定义VSCode复合任务,再用脚本触发:

  1. 在项目根目录的.vscode/tasks.json中添加以下配置:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "启动后端",
      "type": "shell",
      "command": "cd ./backend && npm run start",
      "presentation": {
        "group": "dev-servers",
        "panel": "dedicated"
      }
    },
    {
      "label": "启动前端",
      "type": "shell",
      "command": "cd ./frontend && npm run dev",
      "presentation": {
        "group": "dev-servers",
        "panel": "dedicated"
      }
    },
    {
      "label": "启动所有服务",
      "dependsOn": ["启动后端", "启动前端"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}
  1. 用脚本触发任务:
# Bash/Zsh
code --task "启动所有服务"
# PowerShell
code --task "启动所有服务"

这种方式下,VSCode会自动创建两个并排终端(归为同一组),分别运行前后端命令,无需手动干预,也不需要等待时间。

内容的提问来源于stack exchange,提问作者elit123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:08:28