加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VSCODE golang环境配置

发布时间:2020-12-16 18:26:04 所属栏目:大数据 来源:网络整理
导读:VSCODE golang环境配置 准备 安装好vscode后,安装golang插件,可以使用ctrl+shift+p或者f1呼出命令面板,输入extensions,输入关键词Go然后安装 然后将一个文件夹拉入VSCODE中,然后通过文件-首选项-工作区设置来做工作区设置的任务。我们在工作区的配置文

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","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中。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读