WindowsからTeraTerm等のターミナルソフトを使って、Linuxサーバにssh接続し、Linux上で開発をすることは、一般的に行っていると思う。しかし、Windows用のVS CodeのIntellisenseやdebug機能を使いたい!と思うこともよくある。そんなことが、WSL2を使うことで簡単にできちゃうので、紹介してみる。
インストール
Remote Development Extention
VS Codeの画面左側のExtensions(Ctrl + Shift + X)
メニューで、Remote Development
を検索し、インストール。とっても簡単。
WSL2 + Linux Distribution
ググればわかりやすいページがたくさんヒットするので、頑張りましょう。なお、私も書いてたりします。
Windows 10でLinuxを使う(WSL2)
Go tools
WSL2上のLinuxにGo Toolsをインストールする。Distributionで用意しているパッケージでもいいかもしれないが、私は何となく最新版をインストールした。Getting Started - The Go Programming Languageを見れば、簡単にインストールできる。
インストール後、$HOME/.profile
に以下のPATH設定をお忘れなく。
GOPATH="$HOME/go"
PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
Go on Linux on WSL2
モジュール初期化
Linux上で、以下のコマンドを実行し、モジュールの初期化を行う。
mkdir hello
cd hello
go mod init hello
VS Code起動
上記で作成したhello
ディレクトリで、以下のコマンドを実行。Windows上でVS Codeがhello
ディレクトリをオープンした状態で起動する。
code .
VS Codeの画面左下にWSL: XXXXX
と表示されていれば成功。
Go Extentionのインストール
VS Codeで、hello.go
を作成すると、Go Extention
のインストールを勧められるので、Install
をクリック。
インストール完了後、Reload Required
をクリック。
この後、ソースコードの編集、実行時にUpdate
やInstall
の問い合わせが何回かあるが、基本的に言われるがままに実行する。
Go build
ソースの編集後、Ctrl + F5
で、コマンドパレットが開くのでGo
を選択。
package main
import (
"fmt"
)
func main() {
msg := "Hello, Wold!"
fmt.Println(msg)
}
下記のように、DEBUG CONSOLE
にHello, World!
と表示されればOK。
Ctrl + F5
を実行するたびに、Go
を選択するのは面倒なので、画面左のRun(Ctrl + Shift + D)
メニューをクリックし、create a launch.json file
をクリックし、コマンドパレットからGo
を選択。
launch.json
ファイルが開くが、編集は不要なので、そのまま閉じる。これで、Ctrl + F5
実行時の問い合わせがなくなる。
Debug
F5
キーによりデバッグもできる。ソースコードの行番号の左側をクリックすることでブレークポイントを設定。F5
キーを実行すると、デバッグ開始しブレークポイントで処理が止まる。あとは、Continue(F5)
、Step Over(F10)
、Step Into(F11)
等で遊びましょう。