vscode-go 插件安装

ctrl+shift+p

  • 安装 vscode-go 插件:
> ext install Go
  • 安装 go tools:
> Go Install/Update Tools
  • 新项目按 vscode-go-build 配置.

  • 下载失败配置 hosts:

https://github.com/racaljk/hosts

vscode-go-build

所有配置文件在 .vscode 文件夹下

settings.json

自定义 GOPATH 配置:

本配置不是必须, 碰到独立 gopath 项目设置.

{
    "go.gopath": "${workspaceRoot}"
}

task.json

Ctrl+Shift+b 配置手动编译任务:

linux/osx run 命令没有测试是否正确

{
    "version": "0.1.0",
    "command": "go",
    "isShellCommand": true,
    "suppressTaskName": true,
    "tasks": [{
            "taskName": "build",
            "isBuildCommand": true,
            "args": [
                "-i",
                "-v"
            ]
        }
    ],
    "showOutput": "always",
    "windows": {
        "tasks": [
            {
                "args": [
                    "build",
                    "&",
                    "${workspaceRootFolderName}.exe"
                ],
                "taskName": "run"
            }
        ],
        "options": {
            "env": {
                "GOPATH": "${env.GOPATH};${workspaceRoot}"
            }
        }
    },
    "linux": {
        "tasks": [
            {
                "args": [
                    "build",
                    "|",
                    "./${workspaceRootFolderName}"
                ],
                "taskName": "run"
            }
        ],
        "options": {
            "env": {
                "GOPATH": "${env.GOPATH}:${workspaceRoot}"
            }
        }
    },
    "osx": {
        "tasks": [
            {
                "args": [
                    "build",
                    "|",
                    "./${workspaceRootFolderName}"
                ],
                "taskName": "run"
            }
        ],
        "options": {
            "env": {
                "GOPATH": "${env.GOPATH}:${workspaceRoot}"
            }
        }
    }
}

launch.json

配置调试:

{
    "version": "0.2.0",
    "configurations": [{
        "name": "dlv-DEBUG",
        "type": "go",
        "request": "launch",
        "mode": "debug",
        "program": "${workspaceRoot}",
        "windows": {
            "env": {
                "GOPATH": "${env.GOPATH};${workspaceRoot}"
            }
        },
        "linux": {
            "env": {
                "GOPATH": "${env.GOPATH}:${workspaceRoot}"
            }
        },
        "osx": {
            "env": {
                "GOPATH": "${env.GOPATH}:${workspaceRoot}"
            }
        },
        "args": []
    }]
}

keybindings.json

快捷键配置:

[
    {
        "key": "ctrl+shift+delete",
        "command": "workbench.action.tasks.terminate"
    },
    {
        "key": "ctrl+r",
        "command": "workbench.action.tasks.runTask",
        "when": "editorTextFocus"
    }
]

原文