其實是 go-mode 這個隨官方 go 發佈的 emacs major mode。本文適合正在學 emacs,想拿來寫 go 的朋友服用。無任何關於 go 的基本知識描述,請自己找其他東西閱讀咯,如爲什麼 golang 會有強制 format 原始碼格式。
首先你需要安裝 go-mode。雖然參考資料裏面有自己的教學,不過我還是推薦你從 el-get / package.el 中裝起來。對於 emacs 套件管理不熟的朋友,可以參考鐵人賽文章彙整中關於包管理的部分。
裝起來後,就可以隨便開個 hello.go 來測試他的功能了。先看下基本的部分:
M-x godoc,之後可以將你想看的 golang 包輸入。其回傳資訊會開在一個新的緩衝區。對應的外部指令是 godoc。
M-x gofmt,將當前緩衝區處理成符合 golang 要求的格式:透過 gofmt 來達成。原文建議跟 save 捆綁,不過我看不太懂它的 add-hook,所以還是先手動 M-x gofmt 爲主。
管理 import:這個感覺一整個實際。因爲 golang 自己的包管理模式與其他語言相比,比較特別,如透過 go get 從 github/yfwu/mymath 抓下的套件,就是以來源的形式存放。所以 import 的時候,要寫
import (
"github.com/yfwu/mymath"
)
又臭又長。搭配 import 管理,可以節省我們的時間。實際使用效果類似1. godoc 那個圖,就不另外貼了~!
添加新的 import :C-c C-a 或 M-x go-import-add
去除沒有被使用的 import: M-x go-remove-unused-imports ,它沒有被捆綁快捷鍵!
下篇我們將講,如何在 go 程式碼間移動;透過godef,來達成傳統寫 C 程式是會使用的 etags 等功能!以及相關影片等素材。敬請期待~!