FeelingLife FeelingLife
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xuqil

一介帆夫
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 环境部署

    • VS CODE 配置远程 Go 开发环境
      • 配置linux用户
      • 安装Go
      • 配置 VS CODE
        • 安装 SSH 远程插件
        • 配置远程登录
        • 安装Go插件
        • 插件安装
        • 解决插件失败问题
        • 安装 Code Run 插件
        • 验证 VS CODE Go 开发环境
      • 参考文档
  • 测试

  • 反射

  • 数据库操作

  • 并发编程

  • 内存管理

  • 线程安全

  • Go 技巧

  • middleware

  • 第三方库

  • Go各版本特性

  • 《go基础知识》
  • 环境部署
xuqil
2022-05-07
目录

VS CODE 配置远程 Go 开发环境

# VS CODE 配置远程 Go 开发环境

# 配置linux用户

尽量不使用root用户作为开发用户,使用普通用户作为开发用户,可以支持不同用户使用不同的go开发环境。

  • 新建开发账户

    本文以用户code为例。

    # useradd code
    # passwd code
    
    1
    2
  • 将用户添加sudo免密

    编辑/etc/sudoers文件:

    # visudo
    
    1

    在root ALL=(ALL) ALL下发添加code ALL=(ALL) NOPASSWD:ALL。

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    code    ALL=(ALL)       NOPASSWD:ALL
    
    1
    2
    3

# 安装Go

Go的安装 (opens new window)

tips:建议使用root用户安装go。

  1. 下载Go安装包,Go安装包:https://go.dev/dl/go1.18.1.linux-amd64.tar.gz。

  2. 通过删除/usr/local/go文件夹(如果存在)来删除任何以前的Go,然后将刚刚下载的存档解压缩到/usr/local,在 /usr/local/go中创建一个新的Go树:

    # rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
    
    1
  3. 将/usr/local/go/bin添加到PATH环境变量中。

    编辑文件/etc/profile(所有用户有效)或者$HOME/.profile(当前用户有效),添加如下内容:

    export PATH=$PATH:/usr/local/go/bin
    
    1

    然后执行命令:source /etc/profile或source $HOME/.profile。

  4. 验证Go是否安装成功。

    # go version
    go version go1.18.1 linux/amd64
    
    1
    2
  5. 配置Go Proxy

    $ go env -w GO111MODULE=on
    $ go env -w GOPROXY=https://goproxy.cn
    
    1
    2

# 配置 VS CODE

# 安装 SSH 远程插件

Remote Development using SSH (opens new window)

在 VS CODE 的”拓展“里搜输入remote,安装搜索结果的第一个名为remote - SSH的插件,也可以安装其他remote插件,取决于远程开发环境。

image-20220507210153268

tips:插件的“细节”里有使用说明,可以安装使用说明配置。

# 配置远程登录

  1. 点击remote ssh的Configure,选择第一个配置文件:

    image-20220507210602712

  2. 添加远程主机配置:

    Host remotehost.yourcompany.com
        User yourname
        HostName another-host-fqdn-or-ip-goes-here
        IdentityFile ~/.ssh/id_rsa-remote-ssh
    
    1
    2
    3
    4
    • remotehost.yourcompany.com:远程主机的标示名称,可以随意取。
    • yourname:远程主机的用户,如刚刚创建的用户code。
    • another-host-fqdn-or-ip-goes-here:远程主机的地址。
    • IdentityFile:用于远程登录的秘钥,可以不设置(可以使用ssh-copy-id设置密码登录)。

    例如:

    Host GoDev
      HostName 192.168.1.10
      User code
    
    1
    2
    3
  3. 设置免密登录。

    在 VS CODE 所在机器,打开git bash,执行如下命令:

    $ ssh-copy-id username@hostIP
    
    1
  4. 使用 VS CODE 连接远程开发机器。

    1. 连接远程主机。

      image-20220507211751447

    2. 选择打开的工作目录。

      image-20220507212224603

# 安装Go插件

Vscode for go (opens new window)

# 插件安装

  1. 在 VS CODE 的”扩展“里搜输入go,安装搜索结果的第一个名为Go的插件。

    image-20220507212648391

  2. 安装其他Go插件。

    按快捷键ctrl+shift+p ,选择go install/update tools(安装所有相关包)。

    image-20220507212945157

    选择全部进行安装。

    image-20220507213258802

# 解决插件失败问题

tips:配置了国内代理一般不会出现失败问题。

如果上述步骤安装Go插件失败,可以通过如下方式安装。

  1. 分别创建两个目录:gotools和goworks。

  2. 设置GOPATH为gotools,例如:go env -w GOPATH="/home/code/.gocache/gotools"。

  3. 进入到goworks目录,执行命令:go mod init goworks。

  4. 在goworks目录如下命令:

    export GO111MODULE=on
    export GOPROXY=https://goproxy.cn
    
    go get -u -v github.com/stamblerre/gocode
    go get -u -v github.com/ramya-rao-a/go-outline
    go get -u -v github.com/acroca/go-symbols
    go get -u -v golang.org/x/tools/cmd/guru
    go get -u -v golang.org/x/tools/cmd/gorename
    go get -u -v golang.org/x/tools/cmd/goimports
    go get -u -v github.com/rogpeppe/godef
    go get -u -v github.com/zmb3/gogetdoc
    go get -u -v golang.org/x/tools/cmd/godoc
    go get -u -v github.com/golang/lint/golint
    go get -u -v github.com/derekparker/delve/tree/master/cmd/dlv
    go get -u -v github.com/fatih/gomodifytags
    go get -u -v github.com/josharian/impl
    go get -u -v github.com/tylerb/gotype-live
    go get -u -v github.com/cweill/gotests
    go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
    go get -u -v golang.org/x/tools/gopls
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
  5. 配置 VS CODE 的 Go 插件

    1. 打开settings.json。

      image-20220507220654333

    2. 添加如下内容:

      {
          "go.toolsGopath": "/home/code/.gocache/gotools", // tools的绝对路径
          "go.goroot": "/usr/local/go",
          "go.useLanguageServer": true,
          "go.autocompleteUnimportedPackages": true,
          "go.gocodeAutoBuild": true,
          "go.gotoSymbol.includeGoroot": true,
          "go.gotoSymbol.includeImports": true,
          "go.buildOnSave": "package",
          "go.vetOnSave": "package",
          "terminal.integrated.env.linux": {
              "GOPROXY":"https://goproxy.cn",
              "GO111MODULE": "on"
          },
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
    3. 配置”工作区“:

      1. 打开settings.json。

        image-20220507223642787

      2. 添加如下内容:

        {
            "go.toolsGopath": "/home/code/.gocache/gotools", // tools的绝对路径
            "go.goroot": "/usr/local/go",
            "go.gopath": "/home/code/.gocache/gotools",
            "terminal.integrated.env.linux": {
                "GO111MODULE": "on"
            },
        }
        
        1
        2
        3
        4
        5
        6
        7
        8

# 安装 Code Run 插件

搜索关键词code,安装Code Runner插件,这样就可以使用快捷键Ctrl+Alt+N运行代码了。

# 验证 VS CODE Go 开发环境

  1. 新建目录hellomodule,在目录hellomodule下的文件main.go编写go程序:

    package main
    
    import "github.com/sirupsen/logrus"
    
    func main() {
    	logrus.Println("hello, gopath mode")
    }
    
    1
    2
    3
    4
    5
    6
    7
  2. 在hellmodule目录中执行命令:

    $ go mod init hellomodule
    $ go mod tidy
    
    1
    2
  3. 编译:

    $ go build
    
    1
  4. 运行go程序:

    $ ./hellomodule
    INFO[0000] hello, gopath mode
    
    1
    2
  5. 或者在 VS CODE 中使用快捷键Ctrl+Alt+N运行代码。

# 参考文档

  • Go的安装 (opens new window)

  • Go in Visual Studio Code (opens new window)

  • Remote Development using SSH (opens new window)

  • Vscode for go (opens new window)

#go
上次更新: 2024/05/29, 06:25:22
go的测试

go的测试→

最近更新
01
VXLAN互通实验
05-13
02
VXLAN
05-13
03
VLAN
05-13
更多文章>
Theme by Vdoing | Copyright © 2018-2025 FeelingLife | 粤ICP备2022093535号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式