配置 go开发环境

Go语言安装
  • Linux
    可以在Go语言官网https://golang.org/dl/下载安装包,这里以go1.7.1.linux-amd64.tar.gz为例:

    1. 执行tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz,将安装包解压到 /usr/local 目录下。
    2. 编辑 ~/.bashrc 将export PATH=$PATH:/usr/local/go/bin命令添加到最后,然后执行 source ~/.bashrc 使修改生效。
    3. 编辑 ~/.bashrc 文件,将命令export GOPATH=/go(目录可自己指定)添加到最后,然后执行 source ~/.bashrc 使修改生效。

    上面在 ~/.bashrc 配置,指针对当前用户,如果需要针对所有用户生效,那么需要在 /etc/profile 配置 上述操作。

  • windows
    安装完成后配置好环境变量

安装完成后,使用go version 或者 go env 命令检查是否安装成功:

image.png

GOROOT

Go 语言的安装目录

GOPATH

Go寻找依赖包时会根据GOPATH来寻找。
GOPATH约定目录约定有3个目录:

  • src 存放源代码
  • pkg 存放编译后生成的文件
  • bin 存放编译后的可执行文件
使用go mod

go mod 是 go 1.11 新加的特性,用来支持包管理,开启 go mod 功能,cmd 或者 终端 输入:

go env -w GO111MODULE=on
设置代理

当我们写go需要下载第三方依赖包时,因为某些原因,不能成功下载,此时建议设置国内代理代理,cmd 或者 终端 输入:

go env -w GOPROXY=https://goproxy.cn,direct
goland IDE 配置go开发环境

工作日常,是在win上开发代码,Linux上编译运行代码,所以有必要配置好 goland + dlv 的远程调试代码环境。
首先需要在Linux 上安装go的调试器 dlv 。

  • Linux 安装dlv
    使用如下命令安装:
    go get github.com/go-delve/delve/cmd/dlv
    
    安装详细见:https://github.com/derekparker/delve/tree/master/Documentation/installation
    使用详细参考:使用 dlv 和 gdb 调试go程序
  • 远程调试

    • 在 linux 上执行

      dlv --listen=:2345 --headless=true --api-version=2  exec ./main
      

      如果需要传入参数,则:

       dlv --listen=:2345 --headless=true --api-version=2 exec ./main  ./server.json
      

      有时,如果 linux 上面的 dlv 和 win 上的 dlv 版本不一致,会报错,此时,我们可以使用``来避免这个报错,但强烈建议保持一致。

      dlv --listen=:2345 --headless=true --api-version=2 --check-go-version=false exec ./main
      

      goland IDE 配置远程调试:


      image.png

      然后 goland 上选择debug运行刚才配置的远程调试

  • 快捷键

    快捷键 作用
    Ctrl + Shift + N 文件搜索
    Ctrl + G 跳转指定行数
    Ctrl + Alt + L 格式化代码
    Ctrl + / 单行注释
    Ctrl + Shift + / 多行注释
    Ctrl + BF4 快速跳转到结构体或方法的定义位置
    Ctrl + F 查找文本
    Ctrl + Shift + F 全局查找
    Ctrl + R 替换文本
    Ctrl + N 快速搜索某个 struct 结构体所在的文件
    Alt + 回车 自动导入需要导入的包
    Shift + F6 重命名文件夹、文件、方法、变量名等
    Ctrl + Shift + Alt + N 查找类中的方法或变量
    Ctrl + X 删除当前光标所在行
    Ctrl + D 复制当前光标所在行
配置vscode的go开发环境
  1. 安装go插件
  2. ctrl + shift + p 输入 go,选择如下,安装相应的工具。
    image.png

不过使用 vscode 发现,代码补全和重构方面功能还是不如 goland IDE。

  • 快捷键

    快捷键 作用
    ctrl+b 隐藏 / 显示侧边栏
    Shift+Ctl+O 搜索函数
    ctrl+t 搜索结构体
    ctrl+g 跳转到行
    ctrl+p 跳转到文件
    ctrl+shift+f 全局搜索
  • 设置文件夹内文件过滤
    文件 > 首选项 > 设置 > 选择User Settings tab ,打开 settings.json

    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/*.meta":true
    }
    
  • 设置自动猜测文件编码
    文件 > 首选项 > 设置
    搜索 files.autoGuessEncoding 打钩 Auto Guess Encoding

  • 设置选中高亮,原生自带的选中高亮不明显,这里改一下。
    文件 > 首选项 > 设置
    搜索 workbench.colorCustomizations,点击Edit in seting.json,添加

    "editor.selectionHighlightBackground": "#581ee0", 
    "editor.findMatchHighlightBorder": "#000000"
    
    image.png
  • 设置编辑字体大小
    文件 > 首选项 > 设置 > 文本编辑器 > 字体

  • 禁用自动更新
    文件 > 首选项 > 设置 > 搜索update mode并将设置更改为none。

  • 设置缩略图宽度
    文件 > 首选项 > 设置 > 搜索缩略图

  • 设置打开的文件占用一个tab

    • 双击打打开文件就会固定为一个tab
    • 文件 > 首选项 > 设置
      搜索并设置 "workbench.editor.enablePreview": false
      这样设置,每次单击打开文件也会固定为一个tab
  • 设置文件自动保存

hello world

新建 main.go,内容如下:

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}

使用命令编译并运行:go mod init main && go build && ./mian


附:vscode 其他插件推荐

  • Chinese
    中文语言插件

  • SFTP
    ctrl+shift+p输入sftp config

    {
      "name": "jdy",
      "host": "114.67.xx.xx",
      "protocol": "sftp",
      "port": 22,
      "username": "root",
      "password": "xxx",
      "remotePath": "/root/code/cp_pythonvm",
      "uploadOnSave": false,
      "ignore": [
          ".vscode"
      ]
    }
    
  • trailing spaces
    默认配置,显示文件中的空格,保持文件干净,让空格无处遁形

  • One Monokai Theme
    主题插件

  • Material Icon Theme
    图标美化插件,可以使得文件结构更加清晰

  • bracket pair colorizer
    给括号上色,避免一层层的括号难看,默认配置就行

  • shell-format
    shell 脚本代码格式化插件。

  • Todo Tree
    跟踪文件的todo,fixme

  • Bookmarks
    书签插件
    ctrl+alt+K 创建或消除书签
    ctrl+alt+j 跳转到前一个书签
    ctrl+alt+l 跳转到后一个书签

    注意:需要设置一下,支持 在所有文件中跳转

  • Project Manager
    管理多个项目

  • Code Spell Checker
    代码拼写检查

  • filesize
    显示文件大小

  • hexdump
    查看二进制文件

  • GitLens
    Git 源代码管理插件

  • Git History
    可以查看历次提交的作者、日期、Hash 值、提交内容、修改的文件等。

你可能感兴趣的:(配置 go开发环境)