LoginSignup
4
2

More than 5 years have passed since last update.

【GO】dep でインストールしたパッケージを VScode で補完が効くようにする方法

Last updated at Posted at 2018-12-23

Overview

go get ではなく、パッケージ管理ツール( dep )でインストールしたパッケージを VScode 上で補完が効くようすることを目指します。(ここ上手な日本語が見当たりませんでした。)

Introduction

go get を用いてインストールされたパッケージは GOPATH 配下に配置されます。
しかしながら go get を用いてインストールされたパッケージは そのPCにグローバルに インストールされることになるため、共同開発においては環境差分を生む要因となってしまします。

そこで用いられるのがパッケージ管理ツールです。
依存パッケージをプロジェクトごとにファイルで管理することにより、環境の再構築を容易に実現します。
Go のパッケージ管理ツールは複数存在しますが、本記事では Go 公式のパッケージ管理ツールである dep に焦点を当てます。
(dep も Go 公式ですが、今後は Go moduleデファクトスタンダードになるという話もちらほら)

このようなパッケージ管理ツールを用いる際に困ったことがひとつ。
それは、パッケージを GOPATH 配下にインストールする訳ではないので、そのままでは IDE の補完機能の対象にならないことです。

スクリーンショット 2018-12-23 16.20.57.png

今回は VScode の場合のこの問題への対処法を探ってみました。

Environment

  • macOS, Mojave v10.14.2
  • Visual Studio Code, v1.30.1
    • 拡張機能:Go, v0.8.0
  • Go, v1.11.2

How to

さて、それでは実際に dep でインストールしたパッケージに VScode の補完が効くように作業していきます。
作業自体は一瞬で終わります。

作業内容を一言で表すと、「 GOPATH を IDE に対して明示的に指定する。」です。

設定の GOPATH オプションを編集します。

スクリーンショット 2018-12-23 16.38.12.png
スクリーンショット 2018-12-23 16.38.38.png
スクリーンショット 2018-12-23 16.39.08.png
スクリーンショット 2018-12-23 16.40.10.png
スクリーンショット 2018-12-23 16.41.53.png
スクリーンショット 2018-12-23 16.42.22.png

.vscode/setting.json

"go.gopath": "${workspaceFolder}"

を追加して保存したら、一旦 VScode を閉じて起動し直します。
起動できたら Go のファイル (画像の例では main.go) を選択してアクティブにします。

スクリーンショット 2018-12-23 16.43.44.png
スクリーンショット 2018-12-23 16.44.20.png

すると、プロジェクトルート配下に pkg ディレクトリが作成され、ここに dep でインストール済みのパッケージが再配置されます。
ここでパスの解決が行われ、IDE の補完が効くようになります。
画像の問題タブを見ても、設定前は検出されていた問題が検出されなくなっています。

おわり。

4
2
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
4
2