Files

3.2 KiB

Capability → CLI → MCP → native LSP

Every gopls capability, mapped to its CLI command, MCP tool, and native LSP tool operation where one exists. — means that surface has no path to this capability.

Capability CLI MCP tool Native LSP op
Workspace layout (module/workspace/GOPATH) gopls stats go_workspace —
Fuzzy-find a symbol by name, workspace-wide gopls workspace_symbol <query> go_search workspaceSymbol
Go to definition gopls definition f:l:c — (use go_file_context/go_package_api) goToDefinition
Go to type definition — (unsupported) — — (not in the native tool's fixed op list)
Find all references gopls references f:l:c go_symbol_references findReferences
Implements / implemented-by gopls implementation f:l:c — goToImplementation
Full subtype/supertype tree — (not yet supported) — Type Hierarchy
Call graph (callers/callees) gopls call_hierarchy f:l:c — Call Hierarchy
Expand/contract selection along syntax boundaries — (unsupported) — selectionRange (editor gesture, no agent-invoked path)
File's own symbols (outline) gopls symbols <file> go_file_context documentSymbol
A package's public API — go_package_api (hover per-symbol)
A file's intra-package dependencies — go_file_context —
Hover info (type, doc, size/offset) — — hover
Signature help gopls signature f:l:c — signature help
Same-symbol identifier highlights gopls highlight f:l:c — documentHighlight (not in the native tool's fixed op list)
Semantic tokens (rich syntax coloring) gopls semtok <file> — semanticTokens (editor-automatic, not agent-invoked)
Folding ranges (collapsible regions) gopls folding_ranges <file> — foldingRange (editor-automatic, not agent-invoked)
Document links (URLs in doc comments/imports) gopls links <file> — documentLink (editor-automatic, not agent-invoked)
Compiler + analyzer diagnostics gopls check <file> go_diagnostics automatic, pushed after every edit
Vulnerability reachability (current build) — go_vulncheck —
Safe rename (symbol, receiver, package move, signature) gopls rename -w f:l:c NewName go_rename_symbol rename
Organize / fix imports gopls imports -w <file> — source.organizeImports code action
Format gopls format -w <file> — textDocument/formatting
Refactor (extract, inline, fill, rewrite — see features.md) gopls codeaction -kind=<kind> -exec -w <file> — code action
Generate a test for a function gopls codelens -exec <file:line> "..." (via source.addTest) — code action / code lens
Rendered package documentation (incl. internal packages) — — source.doc code action → browser report
Free symbols of a selection (inputs before extracting) — — source.freesymbols code action → browser report
Assembly listing for a function — — source.assembly code action → browser report
Split-package dependency planning — — source.splitPackage code action → browser report