갠적인 팁인데 저는 로컬pkg 나 여러 개의 go프로젝트가 단일 workspace에 물려있는 경우에 workspace 루트에 아래 내용의 go.mod를 만들어서 돌리고 있습니다

사실 갠적인 팁이라고 하기에도 좀 그런게, 아래 참고 링크의 첫 포스팅을 보면 애초에 스탬블러 누님께서 그렇게 쓰게 만들었다고 명시를 하고 있습니다


로컬에서 workspace 안에 내가 만든 것들은 main이든 라이브러리든 모두 패키지명을 경로에 매핑시켜서 이 go.mod에 넣어주면

go to definition 이라던지 함수 설명이라던지 하는 것들이 정상 작동하고, 개인적인 체감이겠지만 gopls의 캐싱도 빠르게 되었습니다


module .

go 1.15

replace (
패키지명 => ./실제경로
)





근데 이게 Go 1.14 에서는 별 문제가 없었는데 Go 1.15 에서는 온 전신에 시뻘건 거 천지라서 메모용으로 쓰는 검니다



vscode 의 settings.json 을 건드리면 됨니다


usePlaceholders 말고, experimentalWorkspaceModule 입니다

usePlaceholder는 자동완성 할 때 변수 정의도 같이 찍어주는검니다


"gopls": {
"usePlaceholders": true, // add parameter placeholders when completing a function
"experimentalWorkspaceModule": true
},


https://github.com/golang/go/issues/36899#issuecomment-729951762