Commands

In addition to integrated editing features, this extension offers a number of commands, which can be executed manually through the Command Palette (Ctrl+Shift+P on Linux/Windows or Cmd+Shift+P on Mac OS).

Some of these commands are also available in the VS Code context menu (right-click). To control which of these commands show up in the editor context menu, update the "go.editorContextMenuCommands" setting.

All commands provided by this extension have the prefix Go:.

Latest changes

The commands described below are up-to-date as of June 2020. We do our best to keep documentation current, but if a command is missing, you can always consult the full list in the Extensions view.

To view this list:

  1. Navigate to the Extensions view (Ctrl+Shift+X).
  2. Find the Go extension and click on it to open the Extension Editor.
  3. Click on the Feature Contributions tab.
  4. Scroll through the list under Commands.

Finally, you can also see a full list by using a meta command: Go: Show All Commands....

Detailed list

Go: Current GOPATH

See the currently set GOPATH.

Go: Current GOROOT

See the currently set GOROOT.

Go: Locate Configured Go Tools

List all the Go tools being used by this extension along with their locations.

Go: Test Function At Cursor

Runs a unit test at the cursor.

Go: Test Function At Cursor or Test Previous

Runs a unit test at the cursor if one is found, otherwise re-runs the last executed test.

Go: Subtest At Cursor

Runs a sub test at the cursor.

Go: Debug Subtest At Cursor

Debug a sub test at the cursor.

Go: Benchmark Function At Cursor

Runs a benchmark at the cursor.

Go: Debug Test At Cursor

Debug test at the cursor.

Go: Test File

Runs all unit tests in the current file.

Go: Test Package

Runs all unit tests in the package of the current file.

Go: Toggle Hide System Goroutines

Toggles hiding the system goroutines from the active debug session call stack view.

Go Test: Refresh

Refresh a test in the test explorer. Only available as a context menu option in the test explorer.

Go Test: Show Last Profile

Show last captured profile

Go Test: Profile

Run a test and capture a profile

Go Test: Delete Profile

Delete selected profile

Go: Show pprof file

Internal use. Open a pprof profile file.

Go: Benchmark Package

Runs all benchmarks in the package of the current file.

Go: Benchmark File

Runs all benchmarks in the current file.

Go: Test All Packages In Workspace

Runs all unit tests from all packages in the current workspace.

Go: Test Previous

Re-runs the last executed test.

Go: Debug Previous

Re-runs the last debugged test run through a codelens or “Go: Debug Test at Cursor” command.

Go: Toggle Test Coverage In Current Package

Displays test coverage in the current package.

Go: Generate Unit Tests For Package

Generates unit tests for the current package

Go: Generate Unit Tests For File

Generates unit tests for the current file

Go: Generate Unit Tests For Function

Generates unit tests for the selected function in the current file

Go: Generate Interface Stubs

Generates method stub for implementing the provided interface and inserts at the cursor.

Go: Extract Language Server Logs To Editor

Extract logs in the gopls (server) output channel to the editor.

Go: Welcome

Open the welcome page for the Go extension.

Go: Toggle gc details

Toggle the display of compiler optimization choices

Go: Add Import

Add an import declaration

Go: Add Package to Workspace

Add a package from the imports list to the workspace.

Go: Install/Update Tools

install/update the required go packages

Go: Toggle Test File

Toggles between file in current active editor and the corresponding test file.

Go: Toggle Vulncheck

Toggle the display of vulnerability analysis in dependencies.

Go: Start language server's maintainer interface

Start the Go language server's maintainer interface (a web server).

Go: Add Tags To Struct Fields

Add tags configured in go.addTags setting to selected struct using gomodifytags

Go: Remove Tags From Struct Fields

Remove tags configured in go.removeTags setting from selected struct using gomodifytags

Go: Show All Commands...

Shows all commands from the Go extension in the quick pick

Go: Browse Packages

Browse packages and Go files inside the packages.

Go: Get Package

Run go get -v on the package on the current line.

Go: Run on Go Playground

Upload the current selection or file to the Go Playground

Go: Lint Current Package

Run linter in the package of the current file.

Go: Lint Workspace

Run linter in the current workspace.

Go: Vet Current Package

Run go vet in the package of the current file.

Go: Vet Workspace

Run go vet in the current workspace.

Go: Build Current Package

Build the package of the current file.

Go: Build Workspace

Build the current workspace.

Go: Install Current Package

Install the current package.

Go: Initialize go.mod

Run go mod init in the workspace folder.

Go: Cancel Running Tests

Cancels running tests.

Go: Apply Cover Profile

Applies existing cover profile.

Go: Restart Language Server

Restart the running instance of the language server

Go: Choose Go Environment

Choose a different Go version or binary for this project. (WIP)

Go: Show Survey Configuration

Show the current Go survey configuration

Go: Reset Survey Configuration

Reset the current Go survey configuration history

Go: Reset Workspace State

Reset keys in workspace state to undefined.

Go: Reset Global State

Reset keys in global state to undefined.

Go Explorer: Refresh

Refresh the Go explorer. Only available as a menu item in the explorer.

Go Explorer: Open File

Open a file from the Go explorer. Only available as a menu item in the explorer.

Go: Edit Workspace Env

Edit the Go Env for the active workspace.

Go: Reset Workspace Env

Reset the Go Env for the active workspace.