Help us understand the problem. What is going on with this article?

VSCodeでGo言語の開発環境を構築する

More than 1 year has passed since last update.

はじめに

一身上の都合によりGo言語を使うことになりましたので、
VSCodeでGo言語の開発環境を構築しました。

Go言語のIDEとしては、他にGolandがありますが、フリートライアルが30日間なので却下。
あとはEclipseも検討しましたが、環境構築が大変な上にDelveというデバッガと連携できないので却下。

ということで、簡単に環境構築ができてDelveと連携できる無料のVSCodeにしました。

検証環境

・Windows7 64bit
・Visual Studio Code 1.34
・Go 1.12.5
OS以外は2019年6月5日時点で最新

前提

OSがWindowsであること。
(MacでもMac用に読み替えればいけると思います)

開発環境構築

必要なソフトを順番にインストールしていきます。
どれもインストール時のオプションは変更していません。

Visual Studio Code

VSCodeをインストールします。
Download Visual Studio Code

Go言語

Go言語をインストールします。
The Go Programming Language - Downloads

環境変数にGOPATHを追加

Go言語では、環境変数「GOPATH」に保存されたパスを開発時の作業ディレクトリとして扱います。

「スタート」→「コンピューター」を右クリックして「プロパティ」→「システムの詳細設定」
→「詳細設定」タブ→「環境変数」ボタンを押下、と操作し、
「環境変数」ウィンドウで以下の環境変数を設定します。

環境変数名
GOPATH %USERPROFILE%\go
PATH %USERPROFILE%\go\bin

kankyohensu1.jpg
kankyohensu2.jpg

Go言語の拡張機能をインストール

VSCodeでGo言語での開発をするにあたり、インストール必須の拡張機能です。
予測変換などが使えるようになるので開発スピードが上がります。

VSCodeを起動し、拡張機能(Ctrl+Shift+X)を開いてGoで検索します。
様々な拡張機能がヒットしますが、以下を選択してインストールします。
VSCode_Go.jpg

拡張機能の依存パッケージをインストール

最後にGo言語の拡張機能が依存するパッケージをインストールします。
デバッガなどもこちらで入りました。

You can access all of the above commands from the command pallet (Cmd+Shift+P or Ctrl+Shift+P).
引用: https://github.com/Microsoft/vscode-go

VSCodeでコマンドパレット(Ctrl+Shift+P)を開いてGO: Install/Update toolsで検索します。
compalet.jpg
全ツールを選択し、OKボタンを押下してインストールします。
vscode_kakucho.jpg

インストール結果です。
拡張機能をアップデートした場合は依存パッケージもアップデートすることをオススメします。
goget.jpg

動作確認

VSCodeの動作確認を一通り行ってみます。

Go言語のソースを実行

Go言語で作成した以下のソース「main.go」をVSCodeで動かしてみます。
F5キーで実行できます。

main.go
package main

import "fmt"

func main() {
    fmt.Printf("Hello world\n")
}

実行完了し、デバッグコンソールに「Hello world」と出力されました。
vscode_hello.jpg

デバッグ

ソースの6行目にブレークポイントを立て、F5実行でデバッグできました。
vscode_degub.jpg

メソッド補完

「Ctrl+スペース」でメソッド補完ができました。
hokan.jpg

参考にしたサイト

【レッツカスタマイズ】Visual Code StudioにGo言語の開発環境を整えてみよう!

おわりに

お手軽にGo言語の開発環境を構築することができました。
特につまずいた箇所も無かったです。

次回は、Go言語で開発したWebアプリをローカルサーバーでデバッグする方法について投稿します。

melty_go
エンジニアです。 SIerに新卒入社し、提案活動、要件定義、設計、開発、アプリ・インフラ保守運用まで一通り経験しました。 その後、5年目くらいのときに新しいスキルが得にくくなってきたことに危機感を感じ、自社サの事業会社へ転職しました。 Java/JavaScript/Cの経験が長めで、現在はRubyの勉強中です。
https://power-antenna.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away