Go Nightly for VS Code
This extension provides rich language support for the Go programming language in VS Code. Take a look at the Changelog to learn about new features.
Overview
Getting startedWelcome! Whether you are new to Go or an experienced Go developer, we hope this extension will fit your needs and enhance your development experience. Install GoBefore you start coding, make sure that you have already installed Go, as explained in the Go installation guide. If you are unsure whether you have installed Go, open the Command Palette in VS Code (Ctrl+Shift+P) and run the Set up your environmentRead about Go code organization to learn how to configure your environment. This extension works in both GOPATH and module modes. We suggest using modules, as they are the new standard and become default from go 1.16 (to be released in early 2021). Here are some additional resources for learning about how to set up your Go project: NOTE: If you are using modules, we recommend using the Go language server, which is explained below. Install the extensionIf you haven't already done so, install and open Visual Studio Code. Navigate to the Extensions pane (Ctrl+Shift+X). Search for "Go" and install this extension (the publisher ID is Activate the Go extensionTo activate the extension, open any directory or workspace containing Go code. You should immediately see a prompt in the bottom-right corner of your screen titled If you see an error that looks like When the extension is active, you should see the Go status bar in the bottom left corner. Start codingYou're ready to Go! Be sure to learn more about the many features of this extension, as well as how to customize them. Take a look at Troubleshooting and Help for further guidance. Support for Go modulesGo modules have added a lot of complexity to the way that most tools and features are built for Go. Some, but not all, features of this extension have been updated to work with Go modules. Some features may also be slower in module mode. The features documentation contains more specific details. In general, we recommend using FeaturesThis extension has a wide range of features, including Intellisense, code navigation, and code editing support. It also shows build, vet, and lint diagnostics as you work and provides enhanced support for testing and debugging your programs. For more detail, see the full feature breakdown. In addition to integrated editing features, the extension also provides several commands for working with Go files. You can access any of these by opening the Command Palette (Ctrl+Shift+P) and typing in the name of the command. See the full list of commands provided by the extension. The majority of the extension's functionality comes from command-line tools. If you're experiencing an issue with a specific feature, you may want to investigate the underlying tool. You can do this by taking a look at the full list of tools used by this extension. DebuggingDebugging is a major feature offered by this extension. For a comprehensive overview of how to debug your Go programs, please see the debugging guide. CustomizationThis extension needs no configuration; it works out of the box. However, you may wish to modify settings to adjust your experience. Many of the features are configurable to your preference. A few common modifications are mentioned below, but take a look at the full list of settings for an overview. LinterA commonly customized feature is the linter, which is a tool used to provide coding style feedback and suggestions. By default, this extension uses the official However, you are welcome to use more advanced options like GOPATHAdvanced users may want to set different Language ServerIn the default mode, the Go extension relies upon a suite of command-line tools. A new alternative is to use a single language server, which provides language features through the Language Server Protocol. The Go team at Google has developed
To opt-in to the language server, set For more information, see the Ask for helpIf you're having issues with this extension, please reach out to us by filing an issue or asking a question on the Gophers Slack. We hang out in the Take a look at learn.go.dev and golang.org/help for additional guidance. Preview versionIf you'd like to get early access to new features and bug fixes, you can use the nightly build of this extension. Learn how to install it in by reading the Go Nightly documentation. ContributingWe welcome your contributions and thank you for working to improve the Go development experience in VS Code. If you would like to help work on the VS Code Go extension, please see our contribution guide. It explains how to build and run the extension locally, and it describes the process of sending a contribution. Code of ConductThis project follows the Go Community Code of Conduct. If you encounter an issue, please mail conduct@golang.org. License |