【问题标题】:How to automate Visual Studio Code startup?如何自动化 Visual Studio Code 启动?
【发布时间】:2022-11-02 03:24:25
【问题描述】:

我需要每天多次设置我的开发环境,我想将该过程自动化为一键式解决方案。

目标是拥有一个主脚本,它打开两个 VS Code 实例,一个用于前端,一个用于后端项目。

步骤应该如下:

- open VS Code
- open Backend Project (located at e.g.: C:/myCompany/backend)
- run git pull
- open terminal
- run docker-compose up
- open split terminal
- run npm run start:dev
- open another vscode
- open terminal
- git pull
- open terminal
- run npm run start:dev

我正在运行 Windows,我可以创建非常基本的 ps1 文件,我知道您可以使用终端并运行“代码”命令来启动 VS Code 的实例。在那之后,我找不到下一步该做什么的信息。 我知道你也可以在 Vs Code 中运行某种脚本,但我不能把它们放在一起。

【问题讨论】:

  • 所有 git 和 docker 的东西都可以在 VSC 之外完成,使用正确的工作区文件夹参数启动 2 个 VSC 实例,唯一要做的就是单击 NPM SCRIPTS 视图中的一行
  • 谢谢,使用外部终端可以作为最后的手段,但是目标就是只打开 2 个 VS 代码实例 - 里面的终端,并通过单个脚本或者一击鼠标. (我们希望所有输出都在一个地方。)
  • 在我的评论中,我在哪里谈论外部终端?您必须有一个终端来调用执行 git 和 docker 的脚本并启动 VSC 2 次,然后您在 VSC 中有内部终端
  • 你可以创建一个自动热键脚本
  • 如果任务的唯一方法是模拟点击和按键,@rioV8 AutoHotkey 将是可行的方法。这不是这里的情况。

标签: shell visual-studio-code vscode-tasks


【解决方案1】:

VSCode 的工具本身可以实现一定程度的自动化。

让我们从项目的后端部分开始。在C:/myCompany/backend 中创建一个文件夹.vscode,并在其中放置两个文件:settings.jsontasks.json。它们应如下所示:

// C:/myCompany/backend/.vscode/tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "git pull",
      "type": "shell",
      "command": "git pull",
      "problemMatcher": [],
      "runOptions": {
        "runOn": "folderOpen"
      }
    },
    {
      "label": "docker-compose up",
      "command": "docker-compose up",
      "type": "shell",
      "presentation": {
        "reveal": "always",
        "panel": "dedicated",
        "group": "dev"
      },
      "group": "build",
      "runOptions": {
        "runOn": "folderOpen"
      }
    },
    {
      "label": "start:dev",
      "type": "shell",
      "command": "npm run start:dev",
      "presentation": {
        "panel": "dedicated",
        "group": "dev"
      },
      "runOptions": {
        "runOn": "folderOpen"
      }
    }
  ]
}
// C:/myCompany/backend/.vscode/settings.json
{
  "task.allowAutomaticTasks": "on"
}

同样,在C:/myCompany/frontend 下创建相同的.vscode 文件夹和相同的两个文件; settings.json 将保持不变,但 tasks.json 将如下所示:

// C:/myCompany/frontend/.vscode/tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "git pull",
      "type": "shell",
      "command": "git pull",
      "problemMatcher": [],
      "runOptions": {
        "runOn": "folderOpen"
      }
    },
    {
      "label": "start:dev",
      "type": "shell",
      "command": "npm run start:dev",
      "presentation": {
        "panel": "dedicated",
        "group": "dev"
      },
      "runOptions": {
        "runOn": "folderOpen"
      }
    }
  ]
}

为了完成这些,powershell 脚本将像这样简单:

code C:myCompanyackend
code C:myCompanyrontend

在以前的 VSCode 版本中,必须调用 workbench.action.tasks.manageAutomaticRunning,然后为每个文件夹选择一次 Allow Automatic Tasks in Folder,但这似乎不再是这种情况(settings.json 中的设置似乎就足够了)。

如需进一步定制(例如任务执行顺序和依赖项),您可以查看文档:https://code.visualstudio.com/Docs/editor/tasks。您还可以尝试直接从 powershell 脚本而不是 VSCode 任务运行 git pull

【讨论】:

    猜你喜欢
    • 2020-12-30
    • 1970-01-01
    • 2016-04-15
    • 2020-04-09
    • 1970-01-01
    • 2018-04-03
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多