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

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


『 Go 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。