visual code golang配置

前言

其實環境搭建沒什麼難的,可是遇到一些問題,主要是有些網站資源訪問不了(如:golang.org),
致使一些包沒法安裝,最終會致使環境搭建失敗,跟據這個教程幾步,咱們將能夠快速的構建golang的開發環境。css

開發環境:

image

1、安裝

這裏我用須要安裝一些工具:linux

1.Visual Studio Code 1.0.0git

2.Golang下載github

這裏我使用的是Go1.6.

3.git下載golang

這一步跟建環境沒什麼關係,
可是以後要引用一些包須要它.

4.安裝vscode-go 插件macos

image

安裝方法:打開vscode 按F1 而後選擇安裝擴展 選擇go 下載後 重啓

image

5.下載vscode擴展依賴工具json

vscode-go 插件須要一些工具,這些功具默認須要這樣安裝: go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-outline go get -u -v sourcegraph.com/sqs/goreturns go get -u -v golang.org/x/tools/cmd/gorename go get -u -v github.com/tpng/gopkgs go get -u -v github.com/newhook/go-symbols go get -u -v golang.org/x/tools/cmd/guru (以及dlv調試運行工具) 這些內容最終目的是要在gopath中bin文件夾中生成一些exe文件。 可是,這裏安裝時遇到了一些問題,有一些會安裝失敗,報錯信息主要意思是說沒法連接啊,沒法找到啊之類的。 這裏我省略這些步驟。直接下載我已經生成的exe包,放在gopath的bin文件夾中就好了。以下圖:

image

2、配置

1.GOPATH:這個是你的工做目錄,請在系統新加一個GOPATH指定你的工做目錄,而且在工做目錄中新建
bin,pkg,src三個文件夾。vim

2.Git:將git安裝目錄下的bin目錄加入Path環境變量。windows

3.用vscode打開src文件夾添加兩個文件以下:
imageapp

{ "files.autoSave": "onFocusChange", "go.buildOnSave": true, "go.lintOnSave": true, "go.vetOnSave": true, "go.buildTags": "", "go.buildFlags": [], "go.lintFlags": [], "go.vetFlags": [], "go.coverOnSave": false, "go.useCodeSnippetsOnFunctionSuggest": false, "go.formatOnSave": true, "go.formatTool": "goreturns", "go.goroot": "C:\\Go", "go.gopath": "H:\\Projects\\GitHub\\Go", "go.gocodeAutoBuild": true }

image

{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}\\helloworld", "env": {}, "args": [] } ] }

3、演示

運行

image

調試

image

更改語言設置

VSCode在初次啓動時會判斷當前系統語言,並以相應的語言做爲默認窗口顯示語言。好比:個人是中文OS X系統,那麼默認VSCode的窗口文字都是中文。若是我要將其改成英文,應該如何操做呢?

F1登場!這裏的F1可不是賽車比賽,而是快捷鍵F1,估計也是整個VSCode最經常使用的快捷鍵之一了。敲擊F1後,VSCode會顯示其「Command Palette」輸入框,這裏麪包含了當前VSCode能夠執行的全部操做命令,支持Search。咱們輸入」language」,在搜索結果中選擇「Configure Language」,VSCode打開一個新的編輯窗口,加載~/Library/Application Support/Code/User/locale.json文件:

{
    // 定義 VSCode 的顯示語言。
    // 請參閱 https://go.microsoft.com/fwlink/?LinkId=761051,瞭解支持的語言列表。
    // 要更改值須要重啓 VSCode。
    "locale": "zh-cn"
}

當前語言爲中文,若是咱們要將其改成英文,則修改該文件中的」locale」項:

{
    // 定義 VSCode 的顯示語言。
    // 請參閱 https://go.microsoft.com/fwlink/?LinkId=761051,瞭解支持的語言列表。
    // 要更改值須要重啓 VSCode。
    "locale": "en-US"
}

保存,重啓VSCode。再次啓動的VSCode將會以英文界面示人了。

三、User Settings和Workspace Settings

UserSettings是一種「全局」設置,而Workspace Settings則顧名思義,是一種針對一個特定目錄或project的設置。

UserSettings設置後的數據保存在~/Library/Application Support/Code下(以mac爲例),而Workspace Setting設置後的數據則保存在某個項目特定目錄下的.vscode目錄下。

在菜單欄,選擇【Preferences -> User Settings】能夠打開~/Library/Application Support/Code/User/settings.json文件。默認狀況下,該文件爲空。VSCode採用默認設置。若是你要個性化設置,那麼可將對應的配置項copy一份到settings.json中,並賦予其新值,保存便可。新值將覆蓋默認值。以字體大小爲例,咱們將默認的editor.fontSize 12改成10:

// Place your settings in this file to overwrite the default settings
{
    "editor.fontSize": 10,
}

保存後,能夠看到窗口中全部文字的Size都變小了。

在菜單欄,選擇【Preferences -> Workspace Settings】可打開當前工做目錄下的.vscode的settings.json文件,其工做原理和配置方法與User Settings同樣,只是生效範圍僅限於該工做區範疇。

四、Color Theme

VSCode內置了主流的配色方案,好比:monokai、solarized dark/light等。F1,輸入」color」搜索,選擇:「Perefences: Color Theme」(在MAC上也能夠用cmd+k, cmd+t打開),在下拉列表中選擇你喜歡的配色Theme便可,便可生效。

4、vscode-go的使用

前面說過,和vim-go同樣,vscode-go插件實現了Go編碼中須要的各類功能:自動format、自動增刪import、build on save、lint on save、定義跳轉、原型信息快速提示、自動補全、code snippets等。另外它經過帶顏色的波浪線提示代碼問題(雖然有時候反應有點慢),包括語法問題、不符合idiomatic go規則的問題(好比appId這個命名,它會建議你改成appID)等。

code snippets很是好用,內置的code snippets在~/.vscode/extensions/lukehoban.Go-0.6.51/snippets/go.json中能夠找到,相似這樣的定義:

//~/.vscode/extensions/lukehoban.Go-0.6.51/snippets/go.json
{
        ".source.go": {
                "single import": {
                        "prefix": "im",
                        "body": "import \"${1:package}\""
                },
                "multiple imports": {
                        "prefix": "ims",
                        "body": "import (\n\t\"${1:package}\"\n)"
                },
                "single constant": {
                        "prefix": "co",
                        "body": "const ${1:name} = ${2:value}"
                },
                "multiple constants": {
                        "prefix": "cos",
                        "body": "const (\n\t${1:name} = ${2:value}\n)"
                },
                "type interface declaration": {
                        "prefix": "tyi",
                        "body": "type ${1:name} interface {\n\t$0\n}"
                },
                "type struct declaration": {
                        "prefix": "tys",
                        "body": "type ${1:name} struct {\n\t$0\n}"
                },
                "package main and main function": {
                        "prefix": "pkgm",
                        "body": "package main\n\nfunc main() {\n\t$0\n}"
                },
... ...

敲入」prefix」的值,好比」ims」,輸入tab,vscode-go將爲你展開爲:

import (
    "package"
)

在使用vscode時遇到過一次代碼自動補全「失靈」的問題。vscode-go只會提示:」PANIC,PANIC,PANIC」。經查,這個是gocode daemon的問題,個人解決方法是:

gocode close //關閉gocode daemon
gocode -s &  //重啓之。

5、小結

在諸多輕量級編輯器中,我仍是比較看好vscode的,畢竟其背後有着Microsoft積澱多年的IDE產品開發經驗。而且和Microsoft以往產品最大的不一樣就是其是開源項目。

關於Vscode的使用和奇技淫巧能夠參見其官方的這篇文檔「VS Code Tips and Tricks」。

關於Vscode的各類周邊工具和資料列表,請參考Awesome-vscode項目

快捷鍵每每是開發人員的最愛,VSCode官方製做了三個平臺的VSCode的快捷鍵worksheet:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

VSCode還在快速發展,離完善還有不小提高空間。好比:在使用過程當中也發現了VSCode 窗口無響應或代碼編輯錯亂之狀況。不過做爲Go編碼的一個輔助編輯器,VSCode仍是徹底勝任和超出預期的。

相關文章
相關標籤/搜索