Original post

The Go team
9 June 2020

When the Go project began, “an overarching goal was that Go do more to help the working programmer by enabling tooling, automating mundane tasks such as code formatting, and removing obstacles to working on large code bases” (Go FAQ). Today, more than a decade later, we continue to be guided by that same goal, especially as it pertains to the programmer’s most critical tool: their editor.

Throughout the past decade, Go developers have relied on a variety of editors and dozens of independently authored tools and plugins. Much of Go’s early success can be attributed to the fantastic development tools created by the Go community. The VS Code extension for Go, built using many of these tools, is now used by 41 percent of Go developers (Go developer survey).

As the VS Code Go extension grows in popularity and as the ecosystem expands, it requires more maintenance and support. Over the past few years, the Go team has collaborated with the VS Code team to help the Go extension maintainers. The Go team also began a new initiative to improve the tools powering all Go editor extensions, with a focus on supporting the Language Server Protocol with gopls and the Debug Adapter Protocol with Delve.

Through this collaborative work between the VS Code and Go teams, we realized that the Go team is uniquely positioned to evolve the Go development experience alongside the Go language.

As a result, we’re happy to announce the next phase in the Go team’s partnership with the VS Code team: The VS Code extension for Go is officially joining the Go project. With this come two critical changes:

  1. The publisher of the plugin is shifting from “Microsoft” to “Golang”.
  2. The project’s repository is moving to join the rest of the Go project at https://github.com/golang/vscode-go.

We cannot overstate our gratitude to those who have helped build and maintain this beloved extension. We know that innovative ideas and features come from you, our users. The Go team’s primary aim as owners of the extension is to reduce the burden of maintenance work on the Go community. We’ll make sure the builds stay green, the issues get triaged, and the docs get updated. Go team members will keep contributors abreast of relevant language changes, and we’ll smooth the rough edges between the extension’s different dependencies.

Please continue to share your thoughts with us by filing issues and making contributions to the project. The process for contributing will now be the same as for the rest of the Go project. Go team members will offer general help in the #vscode channel on Gophers Slack, and we’ve also created a #vscode-dev channel to discuss issues and brainstorm ideas with contributors.

We’re excited about this new step forward, and we hope you are too. By maintaining a major Go editor extension, as well as the Go tooling and language, the Go team will be able to provide all Go users, regardless of their editor, a more cohesive and refined development experience.

As always, our goal remains the same: Every user should have an excellent experience writing Go code.

See the accompanying post from the Visual Studio Code team.