なにがしたいのか
VM上で実行させているGoのコードについて、ホスト側のエディタで補完やGo fmtを効かせたい
環境
Vagarnt
Mac
Goの実行環境はホスト側、VM側に両方に入れておく
ホストのエディタは Visual Studio Code (VS Code)
ホスト側
フォルダ構成
<VMのルートフォルダ>
└Vagrantfile
└src
└<Goのソースフォルダ>
└model (例)
└dao (例)
srcフォルダの下に、Goのソースフォルダを配置するのがポイントです。
VS Codeの「ワークスペースの設定」
VS Codeで src フォルダを開く。
基本設定⇒設定 を開いて「ワークスペースの設定」より、以下を追記
ワークスペース設定
{
"go.gopath": "<VMのルートフォルダ>"
}
Vagrant VM側
コレがなくても補完は出来ますが、VM上でGoのソースを実行するための必要な同期設定です。
Vagrantfile
config.vm.synced_folder "./src/<Goのソースフォルダ>", "<マウント先>"
Goからのimport例
main.go
import (
"<Goのソースフォルダ>/model/dao"
}