連載を通して簡単なブログアプリを作成しつつ Go/GAE について学んでいきます。
今回は Visual Studio Code についての説明です。
- Part 1. 『GO / Cloud SDK のインストール』
- Part 2. 『GOPATH』
- Part 3. 『プロジェクトの作成』
- Part 4. 『ディレクトリ構成』
- Part 5. 『Visual Studio Code』 ← イマココ
- Part 6. 『Hello World』
- Part 7. 『リモートデバッグ』
- Part 8. 『デプロイ』
- Part 9. 『Makefile』
- Part 10. 『Circle CI』
- Part 11. 『Dependency Injection』
- Part 12. 『ローカルDB with Docker』
- Part 13. 『gorm』
- Part 14. 『Cloud SQL』
- Part 15. 『Cloud SQL Proxy』
- Part 16. 『HTML』
- Part 17. 『CSS/JS』
- Part 18. 『Google Analytics』
- Part 19. 『Google Search Console』
- Part 20. 『A/B テスト』
- Part 21. 『ユーザーの作成』
- Part 22. 『Firebase Auth』
- Part 23. 『記事の作成』
- Part 24. 『コメントの作成』
- Part 25. 『ページネーション』
Visual Studio Code で Go の開発準備
Visual Studio Code (以下 VS Code) に Go の拡張機能を導入することによってコーディングの生産性を上げることができます。
Go の拡張機能は次の手順で導入ができます。
[VS Code を起動] > [Command + P] > [ext install ms-vscode.go] > [Enter]
次に Linter や Debugger などのツールを導入していきます。
通常は go get
コマンドでインストールするのですが、Go 拡張機能を使うと簡単にツール一式をインストールすることが可能です。
[VS Code を起動] > [F1] > [>Go: Install/Update Tools] > [チェックボックス全てにチェック] > [OK]
インストールが完了すると、これらツールが GOPATH 配下にインストールされたことが分かります。
PATH に $GOPATH/bin
を追加しているので、これらコマンドはターミナルから呼び出すことができます。
$GOPATH
├── bin
│ ├── impl
│ ├── guru
│ ├── gotests
│ ├── goreturns
│ ├── gorename
│ ├── goplay
│ ├── gopkgs
│ ├── gomodifytags
│ ├── golint
│ ├── godef
│ ├── gocode-gomod
│ ├── gocode
│ ├── go-symbols
│ ├── go-outline
│ ├── fillstruct
│ └── dlv
├── pkg
│ └── darwin_amd64
└── src
├── github.com
│ ├── uudashr
│ ├── stamblerre
│ ├── sqs
│ ├── skratchdot
│ ├── rogpeppe
│ ├── rema424
│ ├── ramya-rao-a
│ ├── pkg
│ ├── mdempsky
│ ├── karrick
│ ├── josharian
│ ├── haya14busa
│ ├── golang
│ ├── go-delve
│ ├── fatih
│ ├── davidrjenni
│ ├── cweill
│ └── acroca
└── golang.org
└── x
最後に VS Code の設定ファイルを作り、拡張機能をカスタマイズします。
Go 拡張機能では Format ツールがデフォルトでは goreturns
となっていますが、今後導入するパッケージ管理ツール dep
との相性を考えて gofmt
に変更します。
まずは設定ファイルをプロジェクトディレクトリの中に作ります。
# ディレクトリ移動
cd $GOPATH/src/rema424/go-gae-blog-app-example
# ディレクトリ作成
mkdir .vscode
# 設定ファイル作成
touch .vscode/settings.json
ファイルが作成できたら、次の内容を書き込んで完了です。
{
"go.formatTool": "gofmt",
"editor.formatOnSave": true
}
おわりに
次回のテーマは『Hello World』です。
よかったら Twitter フォローしてね。@_rema424