Like Share Discussion Bookmark Smile

J.J. Huang   2020-10-28   Golang   瀏覽次數:

Go - 第二章 | Visual Studio Code 安裝及插件推薦

前言

程式語言開發的IDE工具選擇,往往取決於團隊;這邊所選擇使用的是Visual Studio Code,下面將會介紹Visual Studio Code與安裝方式還有插件的推薦。

介紹

Visual Studio Code(簡稱VS Code)是一個由微軟開發,同時支援Windows、Linux和macOS等操作系統的免費程式碼編輯器,它支援測試,並內建了Git版本控制功能,同時也具有開發環境功能,例如代碼補全(類似於IntelliSense)、代碼片段和代碼重構等。該編輯器支援用戶個性化組態,例如改變主題顏色、鍵盤捷徑等各種屬性和參數,同時還在編輯器中內建了擴充程式管理的功能。

功能和語言支援

  • Visual Studio Code 支援多種程式語言,整合終端,可以在編輯器中執行指令碼、編譯軟體、除錯指令碼、設定斷點、做版本管理。
  • VSCode 的許多功能可以通過「命令面板」來調用。用戶可以在命令面板中搜尋和輸入命令,從而實現指定功能,例如安裝擴展、設定屬性等。預設情況下,打開命令面板的快捷鍵是 cmd+Shift+P
  • 內建一套易於使用的組態介面,同時支援使用 json 檔案組態,在控制面板做的所有設定都會自動儲存到 json。方便備份或部署。
  • Code具備了現代文字編輯器所具有的功能,例如更改字元編碼、更換換行符、語法突顯、支援正規表示式、安裝擴展、建立 snippet 等。
    下表為 Visual Studio Code 原生支援的程式語言:
特徵 程式語言
語法突顯、括號匹配 批次處理, C++, Vala, Clojure, CoffeeScript, DockerFile, F#, Go, Jade, Java, HandleBars, Ini, Lua, Makefile, Markdown, Objective-C, Perl, PHP, PowerShell, Python, R, Razor, Ruby, Rust, SQL, Visual Basic, XML,Tex
代碼片段 Groovy, Markdown, PHP, Swift
IntelliSense、大綱顯示 CSS, HTML, JavaScript, JSON, Less, Sass
重構、尋找所有參照 C#, TypeScript
除錯 JavaScript, TypeScript, C#, F#, C, C++

此外 Visual Studio Code 還支援擴展程式。通過安裝擴展程式,Code 可以支援更多新的語言、介面主題、測試器,以及更多的增值服務。Visual Studio Code 的擴充程式執行於獨立的行程中,以保證編輯器的執行速度不受干擾。

安裝

macOs

  • 下載適用於macOS的Visual Studio代碼。
  • 打開瀏覽器的下載列表,然後找到下載的檔案。
  • 選擇”放大鏡”圖標以在Finder中打開檔案。
  • 拖到Visual Studio Code.app該Applications文件夾,使其在macOS啟動板中可用。
  • 右鍵單擊圖標以打開上下文菜單,然後依次選擇選項,保留在Dock中,將VS Code添加到Dock中。

註:另外提供官方安裝教學

插件

在VS Code裡面點擊Extensions,就可以搜尋插件了。

這邊列出推薦的插件:

名稱 插件說明 推薦度
Go This extension provides rich language support for the Go programming language in VS Code. ★★★★★
Code Runner Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, Lisp, Kit, V, SCSS, Sass, CUDA, Less, Fortran, and custom command ★★★★★
Auto Import Automatically finds, parses and provides code actions and code completion for all available imports. Works with Typescript and TSX ★★★★★
Material Theme The most epic theme now for Visual Studio Code ★★★★★
Import Cost Display import/require package size in the editor ★★★★
indent-rainbow Makes indentation easier to read ★★★★
IntelliSense for CSS class names in HTML CSS class name completion for the HTML class attribute based on the definitions found in your workspace. ★★★★
SVG Viewer SVG Viewer for Visual Studio Code. ★★★★
Markdown All in One All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more) ★★★
PlantUML Rich PlantUML support for Visual Studio Code. ★★★★

註:這邊僅提供一些推薦的插件,當然還有很多好用的插件,可以找來安裝使用。

GO package

如果你在VS Code 裡面打開(新建)一個go程序文件,右下角會有類似這樣的提示:

1
The "go-outline" command is not available. Use "go get -v github.com/ramya-rao-a/go-outline" to install.`

然後是2個按鈕Install and Install All,因為這樣的相關包還很多,通常可以直接選擇Install All

安裝的項目(大略):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
gocode:代碼補全。
godef:跳轉到代碼對應定義的,這個可以說是各種編程語言IDE必備的功能。
guru:guru原來叫做oracle,能獲得全部代碼對應引用。
gorename:重命名Go源碼文件。
goimports:自動幫你格式化import語句的,它來幫你決定import順序。
gopkgs:列出Go包。
golangci-lint:舊的用法是gometalinter,現在應該選擇快5倍的golangci-lint,這個工具用來做靜態檢查工具,它會反饋代碼風格並給出建議,這樣就可以在源碼保存是運行它能告訴你現有代碼中有什麼問題。
go-outline:當前文件做符號(Symbol)搜索,相當於文件大綱。
go-symbols:工作區符號搜索。
gogetdoc:鼠標懸停時可以顯示文檔(方法和類的簽名等幫助信息)。
gomodifytags:提供tags管理,可以對struct的tag增刪改。
gotests:用例測試。
impl:自動生成接口實現代碼(stubs)。
gopkgs:導入包時自動補全(列出可導入的包列表,主要用於包導入時的提示功能)。
fillstruct:根據結構體定義在使用時自動填充默認值。

結語

基本上選擇使用VS Code也是因為團隊都使用該套IDE,例外我還有看intelliJ Golang,我還沒有去安裝和使用過,只有先稍微爬一下文章,似乎滿多人在使用上碰到一些問題,有時間應該會裝來玩玩看。


註:以上參考了
Golang Documentation
Visual Studio Code
Visual Studio Code Wiki