【go/vscode】远程环境搭建(离线版/gopls版)

说在前面

  • vscode 版本:1.47.3
  • golang 版本:1.13.8
  • 远程测试环境:wsl(ubuntu)
  • 本地环境:windows10
  • 吐槽:在搞完插件版之后发现有点不太行,找了下,决定尝试下gopls,发现比插件版好用多了

Go安装

  • 远程环境

    • 简易安装(ubuntu)
      sudo apt-get install golang
      
    • 查看环境
      lele@13724:~/go/src$ go env
      GO111MODULE=""
      GOARCH="amd64"
      GOBIN=""
      GOCACHE="/home/lele/.cache/go-build"
      GOENV="/home/lele/.config/go/env"
      GOEXE=""
      GOFLAGS=""
      GOHOSTARCH="amd64"
      GOHOSTOS="linux"
      GONOPROXY=""
      GONOSUMDB=""
      GOOS="linux"
      GOPATH="/home/lele/go"
      GOPRIVATE=""
      GOPROXY="https://proxy.golang.org,direct"
      GOROOT="/usr/lib/go-1.13"
      ...
      
    • 注意其中的GOPATH,在该目录(go文件加可能也不存在,需自己创建)下创建src以及bin文件夹
  • 本地环境

    • 由于需要在本地下载Go的一些插件资源,所以最好还是在本地也装一下Go

Go插件(本地环境)

  • 仅需安装gopls一个插件
    go get -v golang.org/x/tools/gopls
    
    但是该插件的安装需要其他组件,如下错误:
    cannot find package "github.com/sergi/go-diff/diffmatchpatch" in any of
    cannot find package "honnef.co/go/tools/simple" in any of
    cannot find package "honnef.co/go/tools/staticcheck" in any of
    cannot find package "honnef.co/go/tools/stylecheck" in any of
    cannot find package "mvdan.cc/gofumpt/format" in any of
    cannot find package "mvdan.cc/xurls/v2" in any of
    
    安装对应的组件即可,例如
    go get -v github.com/sergi/go-diff
    
  • 结构
    src
    │  
    ├─github.com
    │  ├─BurntSushi
    │  │  └─toml
    │  ├─google
    │  │  └─go-cmp
    │  └─sergi
    │      └─go-diff
    ├─golang.org
    │  └─x
    │      ├─lint
    │      ├─mod
    │      ├─net
    │      ├─sys
    │      ├─text
    │      └─tools
    ├─honnef.co
    │  └─go
    │      └─tools
    └─mvdan.cc
        ├─gofumpt
        └─xurls
    
  • 下载不了看这里(2020/07/31下载的)
    CSDN资源

安装gopls(远程环境)

  • 将上述下载的GO插件资源,传输至$GOPATH/src/中(模拟离线安装,外网下载,传输至局域网安装)
  • 进入$GOPATH/src/目录,执行指令
    go install golang.org/x/tools/gopls
    
    可看到bin文件夹中生成gopls
    lele@13724:~/go/bin$ ls
    gopls
    

VSCode连接

VSCode配置

  • 连接
    在这里插入图片描述
    选择一个,配置主机IP以及用户名
    在这里插入图片描述
    在这里插入图片描述
    右键,选择
    在这里插入图片描述
    然后按照提示,选择操作系统,输入密码,即可连接

  • 选择工作目录
    在这里插入图片描述

  • install in remote
    这一步相当于将插件上传至远程环境中
    在这里插入图片描述

  • 配置环境
    Ctrl+Shift+P搜索setting
    在这里插入图片描述
    编辑

    {
    	"go.useLanguageServer": true,
    	"go.gopath": "/home/lele/Sever/server:/home/lele/Server/server-base",
    	
    	"[go]": {
    	    "editor.snippetSuggestions": "none",
    	    "editor.formatOnSave": true,
    	    "editor.codeActionsOnSave": {
    	        "source.organizeImports": true
    	    }
    	},
    	
    	"gopls": {
    	    "completeUnimported": true,
    	    "usePlaceholders": true,
    	    "completionDocumentation": true,
    	    "hoverKind": "SynopsisDocumentation" // No/Synopsis/Full, default Synopsis
    	},
    	
    	"files.eol": "\n", // formatting only supports LF line endings
    }
    

    注意:go.gopath可以使用多个,在linux环境下使用:分割,但是,工作目录仅在第一个中时,gopls才起作用。所以编译后的gopls可执行文件放在第一个目录下的bin中,例如当前我使用的配置如下:

    Server----|
    		  |
    		  server----|
    		  			|
    		  			bin----|
    		  				   gopls
    		  				   godlv
    		  		    src---|
    		  		          xxx.go
    		  server-base|
    		  			 |
    		  			 src
    

    vscode中的setting文件中设置:

    "go.gopath": "/home/lele/Sever/server:/home/lele/Server/server-base",
    

    这样vscode就能从以上路径中找到gopls,从而使用功能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode中搭建Go语言开发环境可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Go SDK。你可以从官方网站下载并安装Go SDK。 2. 安装VSCode,并在扩展市场中搜索并安装Go插件。这个插件将提供Go语言的开发支持。 3. 设置GOPATH和GOROOT环境变量。GOPATH是你的Go项目的根目录,而GOROOT是Go语言在硬盘上的安装位置。你可以在VSCode的配置文件中设置这些环境变量。 4. 确保你的GOPATH下有src和bin两个文件夹。这些文件夹将用于存放你的Go项目和安装的第三方工具包。 5. 在VSCode中打开你的Go项目文件夹。你可以使用VSCode的文件资源管理器来浏览和编辑你的Go代码。 6. 如果在安装Go插件时遇到了安装失败的情况,你可以尝试以下解决方法: - 提前在GitHub上下载插件,并在VSCode中手动安装。 - 将VSCode的代理设置为能够访问外网,以便插件能够正常下载和安装。 总结起来,搭建Go语言开发环境需要设置好GOPATH和GOROOT环境变量,并安装Go SDK和VSCode的Go插件。确保你的Go项目文件夹位于GOPATH下,并使用VSCode进行代码编辑和开发。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [使用VSCODE配置GO语言开发环境](https://blog.csdn.net/piglite/article/details/127709415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Go在Vscode下的开发环境搭建](https://blog.csdn.net/birdfly2015/article/details/124092713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值