VSCODE golang环境配置

  • 准备

安装好vscode后,安装golang插件,可以使用ctrl+shift+p或者f1呼出命令面板,输入extensions,输入关键词Go然后安装

然后将一个文件夹拉入VSCODE中,然后通过文件->首选项->工作区设置来做工作区设置的任务。我们在工作区的配置文件settings.json中,需要设置的是go.gopath

{
    "go.gopath": "${workspaceRoot}/../../../../",
    "go.buildOnSave": false
}

设置好gopath后,我们的工作区设置就完成了。

  • 依赖的工具

go插件依赖很多工具来完成代码提示、lint等工作。有两种选择,在vscode的提示中下载,或者是直接下载好编译好后的二进制包。在git中我已经编译好了各种依赖包,需要注意的是,只有64位环境下才能支持delve调试支持,我们将压缩包解压后,放入gopath/bin目录下,这样依赖的工具就准备好了。

  • 快捷键build和install

为了快速实现build和install,我们这儿使用tasks来完成这项任务。首先,我们呼出命令面板,输入Tasks: Configure Task Runner,然后我们进入了tasks.json编辑窗口,我们按以下的方式配置一个build的task,配置在tasks数组下面:

{
        "taskName": "vscgo_build",
        "isBuildCommand": true,
        "args": [
            "${workspaceRoot}",
            "${fileDirname}"
        ],
        "isWatching": false,
        "problemMatcher": {
            "owner": "go",
            "fileLocation": [
                "relative",
                "${fileDirname}"
            ],
            "pattern": {
                "regexp": "^(.*):(\\d+):\\s+(.*)$",
                "file":1,
                "line": 2,
                "message": 3
        }
    }
}

通过设置isBuildCommand,我们可以通过ctrl+shift+b快捷键快速启动这项任务,而problemMatcher是用正则来匹配错误输出,这样错误的行会用红色波浪线标出。最终启动的是vscgo_build脚本,我这儿只写了windows下的处理,linux下稍微改一下就行:

@rem param1 GOPATH
@rem param2 build path

@SET GOPATH=%1
@CD %2
@go build

@rem succeed or failed
@if %errorlevel%==0 (echo build success) else (echo build failed)

而install也大同小异,只是无法通过快捷键呼出,只能通过呼出命令面板,输入tasks: run task来选择vsc_install来进行。配置的task如下:

{
        "taskName": "vscgo_install",
        "args": [
            "${workspaceRoot}",
            "${fileDirname}"
        ],
        "isWatching": false,
        "problemMatcher": {
            "owner": "go",
            "fileLocation": [
                "relative",
                "${fileDirname}"
            ],
            "pattern": {
                "regexp": "^(.*):(\\d+):\\s+(.*)$",
                "file":1,
                "line": 2,
                "message": 3
            }
        }
    }

脚本如下:

@rem param1 GOPATH
@rem param2 build path

@SET GOPATH=%1
@CD %2
@go install

@rem succeed or failed
@if %errorlevel%==0 (echo install success) else (echo install failed)

这样我们大概的配置任务就完成了,这些东西都已经打包在git中。

共 0 条回复
暂时没有人回复哦,赶紧抢沙发
发表新回复

作者

sryan
today is a good day