4.0 KiB
Commands
This document describes the LSP-level commands supported by gopls. They cannot be invoked directly by users, and all the details are subject to change, so nobody should rely on this information.
Add dependency
Identifier: gopls.add_dependency
Adds a dependency to the go.mod file for a module.
Args:
{
// The go.mod file URI.
"URI": string,
// Additional args to pass to the go command.
"GoCmdArgs": []string,
// Whether to add a require directive.
"AddRequire": bool,
}
****
Identifier: gopls.add_import
Args:
{
"ImportPath": string,
"URI": string,
}
Apply a fix
Identifier: gopls.apply_fix
Applies a fix to a region of source code.
Args:
{
// The fix to apply.
"Fix": string,
// The file URI for the document to fix.
"URI": string,
// The document range to scan for fixes.
"Range": {
"start": {
"line": uint32,
"character": uint32,
},
"end": {
"line": uint32,
"character": uint32,
},
},
}
Check for upgrades
Identifier: gopls.check_upgrades
Checks for module upgrades.
Args:
{
// The go.mod file URI.
"URI": string,
// The modules to check.
"Modules": []string,
}
Toggle gc_details
Identifier: gopls.gc_details
Toggle the calculation of gc annotations.
Args:
string
Run go generate
Identifier: gopls.generate
Runs go generate for a given directory.
Args:
{
// URI for the directory to generate.
"Dir": string,
// Whether to generate recursively (go generate ./...)
"Recursive": bool,
}
Generate gopls.mod
Identifier: gopls.generate_gopls_mod
(Re)generate the gopls.mod file for a workspace.
Args:
{
// The file URI.
"URI": string,
}
go get package
Identifier: gopls.go_get_package
Runs go get to fetch a package.
Args:
{
// Any document URI within the relevant module.
"URI": string,
// The package to go get.
"Pkg": string,
"AddRequire": bool,
}
****
Identifier: gopls.list_known_packages
Args:
{
// The file URI.
"URI": string,
}
Regenerate cgo
Identifier: gopls.regenerate_cgo
Regenerates cgo definitions.
Args:
{
// The file URI.
"URI": string,
}
Remove dependency
Identifier: gopls.remove_dependency
Removes a dependency from the go.mod file of a module.
Args:
{
// The go.mod file URI.
"URI": string,
// The module path to remove.
"ModulePath": string,
"OnlyDiagnostic": bool,
}
Run test(s)
Identifier: gopls.run_tests
Runs go test for a specific set of test or benchmark functions.
Args:
{
// The test file containing the tests to run.
"URI": string,
// Specific test names to run, e.g. TestFoo.
"Tests": []string,
// Specific benchmarks to run, e.g. BenchmarkFoo.
"Benchmarks": []string,
}
Run test(s) (legacy)
Identifier: gopls.test
Runs go test for a specific set of test or benchmark functions.
Args:
string,
[]string,
[]string
Run go mod tidy
Identifier: gopls.tidy
Runs go mod tidy for a module.
Args:
{
// The file URIs.
"URIs": []string,
}
Toggle gc_details
Identifier: gopls.toggle_gc_details
Toggle the calculation of gc annotations.
Args:
{
// The file URI.
"URI": string,
}
Update go.sum
Identifier: gopls.update_go_sum
Updates the go.sum file for a module.
Args:
{
// The file URIs.
"URIs": []string,
}
Upgrade dependency
Identifier: gopls.upgrade_dependency
Upgrades a dependency in the go.mod file for a module.
Args:
{
// The go.mod file URI.
"URI": string,
// Additional args to pass to the go command.
"GoCmdArgs": []string,
// Whether to add a require directive.
"AddRequire": bool,
}
Run go mod vendor
Identifier: gopls.vendor
Runs go mod vendor for a module.
Args:
{
// The file URI.
"URI": string,
}
****
Identifier: gopls.workspace_metadata