前提・実現したいこと
たとえば以下のようなディレクトリ構成だとします
/{home}/go ┗ /v12 ┗ /pjb ┗ /v13 ┗ /github.com ┗ /pja ┗ /.vscode ┗ /.launch.json ┗ /.settings.json ┗ /src ┗ src.go ┗ src_test.go ┗ /main ┗ main.go
このとき、vscodeでpjaを開いたとき、
0. すべてのファイルにおいて、import関数に書かれたパスに対してエラーが出ないようにしたいです。
0. 定義へ移動できるようにしたいです。
発生している問題・エラーメッセージ
1. すべてのファイルにおいて、import関数に書かれたパスに対してエラーが出ないようにしたい
src_test.goのみに、import関数に書かれたパスに対して、以下のエラーメッセージが出ます。
could not import github.com/stretchr/testify/assert (cannot find package "github.com/stretchr/testify/assert" in any of /usr/lib/go-1.13/src/github.com/stretchr/testify/assert (from $GOROOT) /{home}/go/src/github.com/stretchr/testify/assert (from $GOPATH))
vscodeのターミナルで確認したGOROOT、GOPATHとは異なるパスが、下記のように表示されます。
linux
1$ go env GOROOT GOPATH 2/{home}/.anyenv/envs/goenv/versions/v13 3/{home}/go/v13
2. 定義へ移動できるようにしたいです。
main.go、src.goはimport関数にてエラーは出ませんが、
関数などの定義へ移動したくても
「定義は見つかりません」というエラーが出ます。
ソースコード(package~inportまで抜粋)
- main.go
Go
1package main 2 3import ( 4 "log" 5 6 "pja/src" 7)
- src.go
Go
1package src 2 3import ( 4 "log" 5 6 "github.com/go-sql-driver/mysql" 7)
- src_test.go
Go
1package src 2 3import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "pja/src" 9)
試したこと
- ディレクトリごとにsetting.jsonを作成
都合上、pja、pjbでは使用しているGoのバージョンが異なります。
そのため、pjaにおいて、.vscodeというディレクトリを作成し、settings.jsonなどを入れました。
json
1※settings.jsonの中身 2{ 3 "files.eol": "\n", 4 "terminal.integrated.env.windows": { 5 "PATH": "${env:PATH}" 6 }, 7 "go.goPath": "/{home}/go/v13" 8}
2.vscodeでインストールした拡張機能「Go」のsettings.goの変更
1.を試して違うのかと思い、改めて拡張機能ごとの設定ファイルを変更しました。
しかし、追加した「"go.gopath": "/{home}/go/v13/src"」は他の文字よりも曇った色で表示されました。
エラーは表示されてはいません。
json
1{ 2 "terminal.integrated.shell.windows": "C:/Program Files/Git/bin/bash.exe", 3 "workbench.editor.enablePreview": false, 4 "window.zoomLevel": 0, 5 "go.alternateTools": { 6 7 "go-langserver": "gopls" 8 }, 9 // "go.languageServerExperimentalFeatures": { 10 // "format": true, 11 // "autoComplete": true 12 // } 13 "[go]": { 14 "editor.snippetSuggestions": "none", 15 "editor.formatOnSave": true, 16 "editor.codeActionsOnSave": { 17 "source.organizeImports": true 18 }, 19 }, 20 "gopls": { 21 "usePlaceholders": true, 22 "enhancedHover": true, 23 "useLanguageServer": true, 24 }, 25 "go.editorContextMenuCommands": { 26 27 "toggleTestFile": true, 28 "addTags": true, 29 "removeTags": false, 30 "fillStruct": false, 31 "testAtCursor": true, 32 "testFile": false, 33 "testPackage": false, 34 "generateTestForFunction": true, 35 "generateTestForFile": false, 36 "generateTestForPackage": false, 37 "addImport": true, 38 "testCoverage": true, 39 "playground": true, 40 "debugTestAtCursor": true, 41 "benchmarkAtCursor": false 42 }, 43 "go.gopath": "/{home}/go/v13/src", 44 "workbench.startupEditor": "none", 45 "go.toolsEnvVars": { 46 47 } 48}
補足情報(FW/ツールのバージョンなど)
windows10 pro
vscode 1.56.2
ubuntu 20.04
以上、お力いただけますと幸いです。
何卒よろしくお願いいたいます。
回答1件
あなたの回答
tips
プレビュー