配置 go開發(fā)環(huán)境

Go語(yǔ)言安裝
  • Linux
    可以在Go語(yǔ)言官網(wǎng)https://golang.org/dl/下載安裝包,這里以go1.17.7.linux-amd64.tar.gz為例:

    1. 執(zhí)行tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz,將安裝包解壓到 /usr/local 目錄下。
    2. 編輯 ~/.bashrc 將export PATH=$PATH:/usr/local/go/bin命令添加到最后,然后執(zhí)行 source ~/.bashrc 使修改生效。
    3. 編輯 ~/.bashrc 文件,將命令export GOPATH=/go(目錄可自己指定)添加到最后,然后執(zhí)行 source ~/.bashrc 使修改生效。

    上面在 ~/.bashrc 配置,指針對(duì)當(dāng)前用戶,如果需要針對(duì)所有用戶生效,那么需要在 /etc/profile 配置 上述操作。

  • windows
    安裝完成后配置好環(huán)境變量

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

image.png

GOROOT

Go 語(yǔ)言的安裝目錄

GOPATH

Go尋找依賴包時(shí)會(huì)根據(jù)GOPATH來(lái)尋找。
GOPATH約定目錄約定有3個(gè)目錄:

  • src 存放源代碼
  • pkg 存放編譯后生成的文件
  • bin 存放編譯后的可執(zhí)行文件
使用go mod

go mod 是 go 1.11 新加的特性,用來(lái)支持包管理,開啟 go mod 功能,cmd 或者 終端 輸入:

go env -w GO111MODULE=on
設(shè)置代理

當(dāng)我們寫go需要下載第三方依賴包時(shí),因?yàn)槟承┰?,不能成功下載,此時(shí)建議設(shè)置國(guó)內(nèi)代理代理,cmd 或者 終端 輸入:

go env -w GOPROXY=https://goproxy.cn,direct
goland IDE 配置go開發(fā)環(huán)境

工作日常,是在win上開發(fā)代碼,Linux上編譯運(yùn)行代碼,所以有必要配置好 goland + dlv 的遠(yuǎn)程調(diào)試代碼環(huán)境。
首先需要在Linux 上安裝go的調(diào)試器 dlv 。

  • 遠(yuǎn)程調(diào)試

    • 在 linux 上執(zhí)行

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

      如果需要傳入?yún)?shù),則:

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

      如果需要傳入的參數(shù)是這種類型的:./main --config=config.toml,則:

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

      如果 linux 上面的 dlv 和 win 上的 dlv 版本不一致,會(huì)報(bào)錯(cuò),此時(shí),我們可以使用--check-go-version=false來(lái)避免這個(gè)報(bào)錯(cuò),但強(qiáng)烈建議保持一致。

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

      goland IDE 配置遠(yuǎn)程調(diào)試:


      image.png

      然后 goland 上選擇debug運(yùn)行剛才配置的遠(yuǎn)程調(diào)試

  • 快捷鍵

    快捷鍵 作用
    Ctrl + Shift + N 文件搜索
    Ctrl + G 跳轉(zhuǎn)指定行數(shù)
    Ctrl + Alt + L 格式化代碼
    Ctrl + / 單行注釋
    Ctrl + Shift + / 多行注釋
    Ctrl + BF4 快速跳轉(zhuǎn)到結(jié)構(gòu)體或方法的定義位置
    Ctrl + F 查找文本
    Ctrl + Shift + F 全局查找
    Ctrl + R 替換文本
    Ctrl + N 快速搜索某個(gè) struct 結(jié)構(gòu)體所在的文件
    Alt + 回車 自動(dòng)導(dǎo)入需要導(dǎo)入的包
    Shift + F6 重命名文件夾、文件、方法、變量名等
    Ctrl + Shift + Alt + N 查找類中的方法或變量
    Ctrl + X 刪除當(dāng)前光標(biāo)所在行
    Ctrl + D 復(fù)制當(dāng)前光標(biāo)所在行
配置vscode的go開發(fā)環(huán)境
  1. 安裝go插件
  2. ctrl + shift + p 輸入 go,選擇如下,安裝相應(yīng)的工具。
    image.png

不過(guò)使用 vscode 發(fā)現(xiàn),代碼補(bǔ)全和重構(gòu)方面功能還是不如 goland IDE。

  • 快捷鍵

    快捷鍵 作用
    ctrl+b 隱藏 / 顯示側(cè)邊欄
    Shift+Ctl+O 搜索函數(shù)
    ctrl+t 搜索結(jié)構(gòu)體
    ctrl+g 跳轉(zhuǎn)到行
    ctrl+p 跳轉(zhuǎn)到文件
    ctrl+shift+f 全局搜索
  • 設(shè)置文件夾內(nèi)文件過(guò)濾
    文件 > 首選項(xiàng) > 設(shè)置 > 選擇User Settings tab ,打開 settings.json

    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/*.meta":true
    }
    
  • 設(shè)置自動(dòng)猜測(cè)文件編碼
    文件 > 首選項(xiàng) > 設(shè)置
    搜索 files.autoGuessEncoding 打鉤 Auto Guess Encoding

  • 設(shè)置選中高亮,原生自帶的選中高亮不明顯,這里改一下。
    文件 > 首選項(xiàng) > 設(shè)置
    搜索 workbench.colorCustomizations,點(diǎn)擊Edit in seting.json,添加

    "editor.selectionHighlightBackground": "#581ee0", 
    "editor.findMatchHighlightBorder": "#000000"
    
    image.png
  • 設(shè)置編輯字體大小
    文件 > 首選項(xiàng) > 設(shè)置 > 文本編輯器 > 字體

  • 禁用自動(dòng)更新
    文件 > 首選項(xiàng) > 設(shè)置 > 搜索update mode并將設(shè)置更改為none。

  • 設(shè)置縮略圖寬度
    文件 > 首選項(xiàng) > 設(shè)置 > 搜索縮略圖

  • 設(shè)置打開的文件占用一個(gè)tab

    • 雙擊打打開文件就會(huì)固定為一個(gè)tab
    • 文件 > 首選項(xiàng) > 設(shè)置
      搜索并設(shè)置 "workbench.editor.enablePreview": false
      這樣設(shè)置,每次單擊打開文件也會(huì)固定為一個(gè)tab
  • 設(shè)置文件自動(dòng)保存

hello world

新建 main.go,內(nèi)容如下:

package main

import "fmt"

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

使用命令編譯并運(yùn)行:go mod init main && go build && ./mian


附:vscode 其他插件推薦

  • Chinese
    中文語(yǔ)言插件

  • 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
    默認(rèn)配置,顯示文件中的空格,保持文件干凈,讓空格無(wú)處遁形

  • One Monokai Theme
    主題插件

  • Material Icon Theme
    圖標(biāo)美化插件,可以使得文件結(jié)構(gòu)更加清晰

  • bracket pair colorizer
    給括號(hào)上色,避免一層層的括號(hào)難看,默認(rèn)配置就行

  • shell-format
    shell 腳本代碼格式化插件。

  • Todo Tree
    跟蹤文件的todo,fixme

  • Bookmarks
    書簽插件
    ctrl+alt+K 創(chuàng)建或消除書簽
    ctrl+alt+j 跳轉(zhuǎn)到前一個(gè)書簽
    ctrl+alt+l 跳轉(zhuǎn)到后一個(gè)書簽

    注意:需要設(shè)置一下,支持 在所有文件中跳轉(zhuǎn)

  • Project Manager
    管理多個(gè)項(xiàng)目

  • Code Spell Checker
    代碼拼寫檢查

  • filesize
    顯示文件大小

  • hexdump
    查看二進(jìn)制文件

  • GitLens
    Git 源代碼管理插件

  • Git History
    可以查看歷次提交的作者、日期、Hash 值、提交內(nèi)容、修改的文件等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容