前言
對於一個團隊來講, 維持一樣的代碼風格非常重要. 而現代的開發工具, 都提供了很好的支持, 這裏簡單記錄一下 VsCode 的一些設置
VsCode 安裝 Go 插件
在 VsCode 中安裝插件: Go - Visual Studio Marketplace
該插件使用tools/gopls at master · golang/tools (github.com)進行代碼的格式化, gopls 是 google 官方出品, 品質有保障
在安裝完插件之後, 還需要下載一些依賴纔可以正常運行
在 VsCode 內使用快捷鍵(mac) command
+shift
+p
, 會彈出一個窗口, 在窗口內輸入Go: Install/Update Tools
, 然後回車等待安裝完畢即可, 或者可以參照官方文檔的安裝方式: Go - Visual Studio Marketplace
VsCode 設置 import 風格
在安裝了 go 插件之後, 默認在每次保存代碼時(手動和自動), 都會格式化代碼, 包括 import 區域, 可以看到默認情況下將 import 分爲兩大塊, 一塊是引用的開源包, 一塊是內部的引用包和 go 內置的包, 例如
import (
"fmt" // go 內置的模塊
"os"
"scmdb/common/mongo" // 本項目的其他模塊
"scmdb/config" // 本項目的其他模塊
"time"
"github.com/globalsign/mgo" // 開源包, 存在 vendor 中
"github.com/globalsign/mgo/bson"
)
其中, 將內置的模塊與本項目的模塊混合在了一起, 導致可讀性出現些許問題, 其實這些可以在 gopls 中指定本地包名: tools/settings.md at master · golang/tools (github.com)
我們需要在本地的項目根目錄下新增.vscode
文件夾, 下新增settings.json
文件(已經有則直接新增內容), 新增內容如下
{
"gopls": {
"formatting.local": "scmdb" // 設置爲本地包名
}
}
隨後重新打開 VsCode, 執行一次保存後(有時候需要刪除 import 塊讓他重新添加), 發現已經變成了
import (
"fmt"
"os"
"time"
"github.com/globalsign/mgo"
"github.com/globalsign/mgo/bson"
"scmdb/common/mongo"
"scmdb/config"
)
gopls 的更多設置項查看tools/settings.md at master · golang/tools (github.com)