247
Help us understand the problem. What are the problem?

posted at

updated at

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

はじめに

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

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

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

検証環境

・Windows7 64bit
・Visual Studio Code 1.62.2
・Go 1.17.3

前提

OSがWindowsであること。
(後日、この記事をMac用に読み替えてMacでも環境構築できました)

開発環境構築

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

Visual Studio Code

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

Go言語

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

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用のプロジェクトを作成してください!

プロジェクトを初期化する

コマンドプロンプトを開いて先ほど作成したプロジェクト直下にcdし、
以下のコマンドを実行してGo環境を初期化してください。
Goモジュールのパスが書かれたファイル(go.mod)が自動生成されます。

cd [プロジェクト直下]
go mod init [プロジェクト名]

動作確認

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

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アプリをローカルサーバーでデバッグする方法について投稿します。

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
Sign upLogin
247
Help us understand the problem. What are the problem?