{
  "version": "2.0.0",
  "command": "go",
  "type": "shell",
  "presentation": {
    "echo": true,
    "reveal": "always",
    "focus": false,
    "panel": "shared"
  },
  "tasks": [
    {
      "label": "build",
      "args": ["v2ray.com/core/..."],
      "group": "build",
      "problemMatcher": {
        "owner": "go",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
          "regexp": "^([^:]+\\.go):(\\d+):(.*)",
          "file": 1,
          "line": 2,
          "message": 3
        }
      }
    },
    {
      "label": "test",
      "args": ["-p", "1", "v2ray.com/core/..."],
      "group": "test"
    },
    {
      "label": "Escape Analysis",
      "type": "shell",
      "command": "go build -gcflags -m .",
      "problemMatcher": {
        "pattern": {
          "regexp": "^(.*):(.*):(.*): (.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "message": 4
        },
        "fileLocation": ["relative", "${fileDirname}"]
      },
      "options": {
        "cwd": "${fileDirname}"
      }
    }
  ]
}