1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCodeでGo開発環境を作成する

Last updated at Posted at 2023-08-08

初めに

最近 プログラミング言語Go という書籍を使ってGo言語を学び始めたので、
Go言語を学習するうえで必要な開発環境を VSCode で整えた時の内容をまとめようと思います。
ただ、公式サイトに載っていることを自分用にまとめただけなので他人にとって参考になるかは怪しいです。

開発環境

開発環境は以下の通りです。
最初は Docker コンテナ上で作業を行っていましたが、PCを再起動するたび作業用のコンテナを立ち上げるのがめんどくなったので、WSL上に落ち着きました。
VSCode の導入は記事上では触れません。

  • Windows 11 + WSL2(Ubuntu)
  • VSCode

WSL の導入

WSLは今回よりもだいぶ前に導入しておりやり方を覚えていないため、ググった結果を載せておきます。

wsl --install

# ディストリビューションを選択したい場合
wsl --install -d {ディストリビューション名}

Go言語の導入

WSL起動後、下記コマンドを実行します。
export PATH=$PATH:/usr/local/go/binでのパス通しするだけだと、WSLを起動するたびにパス通す必要があるため、.bash_profileなどでパ通してあげるとよいです。

install go
wsl # wsl起動

# ホームディレクトリに移動(お好み)
# cd ~    

# linux 用のインストールファイル取得
curl -O https://dl.google.com/go/go1.20.7.linux-amd64.tar.gz   
# 以前のローカルファイルがあれば削除 + go言語のインストール
 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.7.linux-amd64.tar.gz
# PATH通し
export PATH=$PATH:/usr/local/go/bin
path
# 下の例はログイン時に`.bash_profile`が読み込まれるため、そこでパスを通している
# cat '[[ -f ~/.bashrc ]] && source ~/.bashrc' >> .bash_profile は.bashrcを読み込ませるため
cd ~
touch .bash_profile
echo '[[ -f ~/.bashrc ]] && source ~/.bashrc' >> .bash_profile
echo 'export PATH=$PATH:/usr/local/go/bin' >> .bash_profile

WSL上からVSCodeを開く

wsl の作業ディレクトリから下記コマンドを実行するだけです。
後は必要に応じてVSCodeの拡張機能を追加します。(Go拡張機能とか)
注意点としてWSL1を使っていた場合は公式のGOの拡張機能のインストールに失敗します。
回避策としては、WSL2に切り替えるもしくはVSCodeの設定からremote.WSL.fileWatcher.pollingを検索しチェックを入れます。

# 作業ディレクトリに移動した後
code .
VSCode の settings.jsonの場合
"remote.WSL.fileWatcher.polling": true

終わりに

今回はGo言語の開発環境をVSCodeで整えました。
気が向いたら書籍で学んだことをまとめたり、練習問題などの回答例を挙げていこうと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?