iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 29
1
Software Development

這次我們不跳過 IDE系列 第 29

Day 29: 使用 VS Code 來開發 Go

前言

今天是後端的第九篇,要介紹這幾年在處理高併發(Concurrency)狀況上,擊敗眾多好手,因此博得滿堂喝采的程式語言:Go

前提

安裝 Go

所有作業系統:WindowsmacOSLinux,最簡單的安裝方式,前往官網下載安裝檔,連結

使用 macOS 的工程師們,可以使用 Homebrew

brew install go

安裝完成之後呢,確認 GOPATH 以及 GOROOT,輸入:

# Windows
go env
# GOPATH="C:\users\youName\go"
# GOROOT="C:\Go"
# macOS
go env
# GOPATH="/Users/youName/go"
# GOROOT="/usr/local/Cellar/go/1.13.1/libexec"

如果沒有跑出來,則需要進行設定,步驟如下:

Windows

  • 我的電腦按右鍵內容
  • 點選進階系統設定
  • 選擇進階標籤,點選環境變數
  • 點選系統變數下的新增
  • 輸入變數名稱:GOROOT 以及指定路徑值,例如:
    • C:\Go
  • 輸入變數名稱:GOPATH 以及指定路徑值,例如:
    • C:\users\youName\go
  • 為了套用設定,電腦需要重新啟動。

macOS

  • 開啟終端機,輸入:
code ~/.bash_profile
  • 接著在 .bash_profile 內貼上這兩行:
export GOPATH="/Users/youName/go"
export GOROOT="/usr/local/Cellar/go/1.13.1/libexec"
  • 關掉終端機後重新開啟。

安裝 Go 語言包

Go Logo
連結

提供以下功能:

  • IntelliSense。
  • Peek Definition(按 F12)。
  • Snippets。
  • 排版,Formatter。
  • Linter。
  • Testing。
  • Debugger。

這個語言包使用多個 Go Tools,如果每次重新開啟 VS Code,都會重新安裝一次 Go Tools 的話,建議可以手動安裝:

  • 打開終端機,輸入以下指令:
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v github.com/mdempsky/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/zmb3/gogetdoc
go get -u -v golang.org/x/lint/golint
go get -u -v github.com/fatih/gomodifytags
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/goimports
go get -u -v github.com/cweill/gotests/...
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/josharian/impl
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct

補充

目前支援 Go 的 Extension 還不算多,因為上面提到的 Go 語言包幾乎包含必要的功能。

這邊只推薦一個 Extension:

使用方式很簡單:

  • 程式碼輸入完成後,點擊滑鼠右鍵(記得這時候不要反白任何程式碼),選擇 Run Code
    • code_runner_1

結論

Go 目前算是蓬勃發展中,因此支援的 Extension 沒有想像的多。
有趣的地方是,不少 Extension 的設計方式跟語言包一樣,使用 Go Tools 來支援。

這個時間點使用 VS Code 開發 Go 是個不錯的選擇,因為 Go 語言包目前的 bug 減少許多到幾乎沒有了。
所以不要懷疑,想體驗 Go,就試試看用 VS Code 開發吧!


上一篇
Day 28: 使用 VS Code 來開發 C++
下一篇
Day 30: Extension 補充以及完賽心得
系列文
這次我們不跳過 IDE30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言