golang / go

The Go programming language

Home Page:https://go.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

x/tools/gopls: support for bazel-based projects

gonzojive opened this issue · comments

What version of Go are you using (go version)?

$ go version
go version go1.13.1 linux/amd64

Does this issue reproduce with the latest release?

n/a

What operating system and processor architecture are you using (go env)?

n/a

What did you do?

Wrote a project with bazel with .go files and .proto files. The protobufs generate go code, which I'm not sure how to make understandable to gopls. Code completion for this code does not work in VSCode.

What did you expect to see?

  1. Documentation of how to set up a Bazel-based project in the User guide.
  2. An example project that works and loads in an IDE like VS Code

What did you see instead?

Scattered information on the level of support and no example projects.

Related links:

  1. bazelbuild/rules_go#512 - main source of updates on gopackagesdriver progress
  2. https://github.com/bazelbuild/rules_go/wiki/Editor-and-tool-integration: Design doc for gopackagesdriver - I'm not sure how accurate this is
  3. microsoft/vscode-go#2755 - gopls support for GOPACKAGESDRIVER in VS Code
  4. bazelbuild/rules_go#393 - editor integration issue for rules_go
  5. #34341 - documentation request for GOPACKAGESDRIVER
  6. Code: jmhodges/rules_go/go/tools/gopackagesdriver, gopackagesdriver in rules_go feature branch, tools/go/packages/external.go seems to implement the external packages driver

Thank you for filing a gopls issue! Please take a look at the Troubleshooting guide, and make sure that you have provided all of the relevant information here.

Did you use @jmhodges's Bazel implementation for GOPACKAGESDRIVER when you tried out gopls with Bazel? Is it ready for use?

I did not try out jmhodge's implementation yet - I just browsed the code there.

I see. We don't support any build system that doesn't have an official gopackagesdriver, so I will defer to @jmhodges and @jayconrod on the status of that work.

Tracking issue for that is bazelbuild/rules_go#512.