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

VisualStudioCodeでGo言語開発環境を作ってみた

More than 3 years have passed since last update.

gloops AdventCalender 4日目

gloops advent calender 4日目です:santa_tone2:
三日目は社長の池田の スプレッドシートで顔写真付き座席表を作った でした。

普段「株式会社gloops」では、NativeアプリケーションをC#を使ってサーバーサイド(ASP.NET ~~)もクライアントサイド(Unity)も開発していますが、全然関係ないVisualStudioCodeでGo言語環境を作った話をします。

経緯

先日社内でちょっとしたプログラミングコンテストをやるとのことで、並列処理ならGoでしょ(?)
と思ったのでGoでやってみようと考えました。
で、エディタどうしようかなと思ってちょっと調べたらVisualStudioCodeでやればいい感じぽいので、環境をつくってみた話をします

Go言語に関しては素人なので、間違ってたらすいません。という先回り…

手順

ダウンロード

VisualStudioCode
https://code.visualstudio.com/

golang
https://golang.org/dl/
適当にfeatured の項目からDLします

VisualStudioCode設定

スクリーンショット 2016-12-04 13.09.13.png

Codeを開いたあと左の下の拡張機能のタブからgoで検索してインストールします。

ディレクトリ構成

https://golang.org/doc/code.html
ここにしたがって、プロジェクトのroot直下に
bin/
pkg/
src/
のディレクトリを作ります。

GOPATHなど

srcの下にディレクトリを切ってhoge.goを置きます。
すると上からにゅるっとGOPATH設定してね、と出てきます
スクリーンショット 2016-12-04 13.17.33.png

Set GOPATH in workspacesettings
をクリックすると、
settings.jsonが開けません、と出るので作成をクリックするとsetting.jsonができるので、ここにrootにするディレクトリのパスを以下のように書きます。

{
    "go.gopath": "/path/to/root"
}

でcode再起動

すると今度は
スクリーンショット 2016-12-04 13.25.18.png

こんな感じにgolintがないですよ、と表示が出るのでinstall ALL します。
すると出力を見ると

Installing 10 tools
  gocode
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  godef
  goreturns
  golint
  gotests

Installing gocode SUCCEEDED
Installing gopkgs SUCCEEDED
Installing go-outline SUCCEEDED
Installing go-symbols SUCCEEDED
Installing guru SUCCEEDED
Installing gorename SUCCEEDED
Installing godef SUCCEEDED
Installing goreturns SUCCEEDED
Installing golint SUCCEEDED
Installing gotests SUCCEEDED

All tools successfully installed. You're ready to Go :).

のように必要なものをいろいろ入れてくれます。
これで晴れてYou're ready to Goになったようです。

機能

普通のIDEレベルの機能が入ってくれます。

  • 保存時に毎回formatをかける(lint)
  • 変数名を書き換えできる
  • メソッドにマウスオーバーで詳細確認できる
  • 定義にジャンプ・参照表示ができる
  • 常にコンパイルエラーがあったら表示する
  • importを自動追加

などなど。

まとめ

基本的に上からにゅるっと出て来るinfoの言いなりになってるだけで開発環境できちゃうので楽チンでした。
VisualStudioCode自体も細かくアップデートされているのでどんどん便利になってますね。

あとプロコン自体はコードがなかなか意図通りに動いてくれなくて苦戦中ですが、触ったことない言語触るのは新鮮で楽しいですね。

明日は 若手フロントエンドエンジニアの @s_ono ちゃんの登場です。

参考

プラグインの本体
https://github.com/Microsoft/vscode-go

Why do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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