从命令面板中调用Task: Configure Task Runner
。
这将在工作空间(.vscode
)文件夹中级工创建task.json
文件,用下面的内容替换自动生成的JSON
文件中的内容。
{
"version": "0.1.0",
"command": "go",
"isShellCommand": true,
"showOutput": "silent",
"tasks": [
{
"taskName": "install",
"args": [ "-v", "./..."],
"isBuildCommand": true
},
{
"taskName": "test",
"args": [ "-v", "./..."],
"isTestCommand": true
}
]
}
{
{
"version": "2.0.0",
"type": "shell",
"echoCommand": true,
"cwd": "${workspaceFolder}",
"tasks": [
{
"label": "rungo",
"command": "go run ${file}",
"group": {
"kind": "build",
"isDefault": true
}
},
]
}
ctrl + shift + b
来运行 go install -v ./...
并且会在输出窗口中返回结果ctrl + shift + t
来运行 go test -v ./...
并且会在输出窗口中返回结果可以使用同样的技巧来调用其他构建和测试工具。例如,在makefile
中定义构建过程,则调用makefile
目标,或者调用类似go generate
之类的工具。
有关在VSCode中配置任务的更多信息,查看这里。
可以定义特殊的仅运行某些测试的任务:
{
"version": "0.1.0",
"command": "go",
"isShellCommand": true,
"showOutput": "silent",
"suppressTaskName": true,
"tasks": [
{
"taskName": "Full test suite",
"args": [ "test", "v", "./..."]
},
{
"taskName": "Blog User test suite",
"args": [ "test", "./...", "-test.v", "-test.run", "User"]
}
]
}
该任务将会用User
中的名字来运行所有的测试。