しばたテックブログ

PowerShellを中心に気分で書いている技術ブログです。

WindowsのVisual Studio CodeでGo言語の開発環境を作る(2017年7月版)

以前、

blog.shibata.tech

で書いた手順が最新バージョンでさらに変わっていたので新たにエントリを起こしました。

各ツールのバージョンは、

  • Visual Studio Code 1.14.1
  • Go for Visual Studio Code 0.6.62
  • Git for Windows 2.13.3
  • Go 1.8.3

で実施しています。

1. Visual Studio Codeのインストール

こちらはこれまで通りです。

code.visualstudio.com

公式サイトからインストーラーをダウンロードして適当にインストールします。
今回Stableの64bit版がリリースされていたのでこれまでインストールしていた32bit版から新たにインストールしなおしました。

そしてGo for Visual Studio Codeの拡張機能を追加します。

Goで拡張機能を検索して出てくる、キモいかわいいGopher君のヤツを追加してください。

f:id:stknohg:20170720202049p:plain

2. Gitのインストール

go getコマンドなどでGitが必要になるのでインストールします。

git-for-windows.github.io

からインストーラーをダウンロードして適当にインストールします。

通常であればPATHが通っているのでgitコマンドが普通に使える様になるはずですが、通っていなければPATHを通しておいてください。

3. Goのインストール

The Go Programming Language

からWindows用のインストーラーをダウンロードしてインストールします。
今回はgo1.8.3.windows-amd64 (Ver.1.8.3)C:\Go\にインストールしました。

インストール後、必要があればGOROOTを設定し%GOROOT%\binに対してPATHを通します。
GOROOTの設定は任意ですが、PATHを通すのは必ず行ってください。

PowerShellからだと以下の様な感じで設定できます。

# GOROOTの設定 (要管理者権限)
# ※ GOROOTは必要がある場合のみ設定
$GOROOT = 'C:\Go'
$GOROOTBIN = (Join-Path $GOROOT "bin")
[Environment]::SetEnvironmentVariable('GOROOT', $GOROOT, 'Machine')
[Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ";$GOROOTBIN", 'Machine')

続けてGOPATHを設定します。
今回GOPATH%USERPROFILE%\Goにし、%GOPATH%\binに対してPATHも通しておきます。

# GOPATHの設定
$GOPATH = (Join-Path $env:USERPROFILE "Go")
$GOPATHBIN = (Join-Path $GOPATH "bin")
mkdir -p $GOPATHBIN
[Environment]::SetEnvironmentVariable('GOPATH', "$GOPATH", 'User')
[Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'User') + ";$GOPATHBIN", 'User')

ちなみに

今回はGOPATHを環境変数で設定しましたが、代わりにsettigns.jsongo.inferGopathおよびgo.gopathパラメーターを使って設定することもできる様です。
詳細については、GOPATH in the VS Code Go extension · Microsoft/vscode-go Wiki · GitHubを参照してください。

ここまでで必要なソフトウェアのインストールは完了です。

4. Go for Visual Studio Codeための環境設定

ここからGo for Visual Studio Codeための環境設定を行います。

必要パッケージのインストール

過去の手順では自前で必要なパッケージをgo getしていましたが、最新のGo for Visual Studio Codeでは内部コマンドで必要なパッケージのセットアップを行ってくれます。
コマンドパレットを開き、

> Go: Install/Update Tools

を選択すると現在のsettings.jsonの設定に応じて自動で必要なパッケージをgo get -u -vしてくれます。

f:id:stknohg:20170720203704p:plain

f:id:stknohg:20170720204141p:plain

上図を見ればわかりますが、Delveも一緒にインストールしてくれます。
インストールの細かい挙動についてはソース(goInstallTools.ts)を見て確かめてください。

エラーがなければ%GOPATH%\bin配下に各パッケージの実行ファイルができているはずです。

f:id:stknohg:20170720204626p:plain

最後に

これでGoの開発環境が出来上がります。
あとは適当にコードを書いてデバッグしてやればOKです。

f:id:stknohg:20170720204940p:plain

必要なパッケージのインストールがほぼ自動化されたので環境構築が非常に楽になりました。