vscode中task.js配置多个服务的启动脚本

303 阅读1分钟

问题

在开发微服务项目的时候,需要启动多个terminal,然后启动多个服务。

每天都要重复这样做,就很麻烦。

今天发现vscode的task可以解决这个问题。

解决方法

在项目根目录.vscode/目录下,创建task.json文件

image.png

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "docker compose",
            "type": "shell",
            "windows": {
                "command": "docker compose up -d"
            },
            "options": {
                "cwd": "${workspaceFolder}/docker-compose"
            },
        },
        {
            "label": "aa-api",
            "type": "shell",
            //"command": "air", 
            "windows": {
                "command": "air" //因为在windows下开发,所以命令要放在这里。
            },
            "options": {
                "cwd": "${workspaceFolder}/service/modules/api/aa"
            },
            "group": "test",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        }, 
        {
            "label": "aa-rpc",
            "type": "shell",
            //"command": "air",
            "windows": {
                "command": "air"
            },
            "options": {
                "cwd": "${workspaceFolder}/service/modules/rpc/aa"
            },
            "group": "test",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        },
        {
            "label": "monitor-rpc",
            "type": "shell",
            //"command": "air",
            "windows": {
                "command": "air"
            },
            "options": {
                "cwd": "${workspaceFolder}/service/modules/rpc/monitor"
            },
            "group": "test",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        },
        {
            "label": "resource-rpc",
            "type": "shell",
            //"command": "air",
            "windows": {
                "command": "air"
            },
            "options": {
                "cwd": "${workspaceFolder}/service/modules/rpc/resource"
            },
            "group": "test",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        }
    ]
}

在windows下,调用vscode的command palette (ctr+shift+p)

然后点击 Task: Run Task
image.png 最后 选择你要执行的服务,单击就可以启动了。 image.png

效果:

image.png

至于这个air命令, 可以参考我之前的文章:go-zero的一些笔记 - 掘金 (juejin.cn) ## 关于live reload