5e0fa16a32
To follow conventions |
||
---|---|---|
.. | ||
extensions/go-rename | ||
img | ||
config.el | ||
extensions.el | ||
packages.el | ||
README.org |
GO contribution layer for Spacemacs
Table of Contents TOC@4
Description
This layer adds extensive support for go.
Features:
- gofmt on file save
- Auto-completion using go-autocomplete
- Source analysis using go-oracle
Install
Pre-requisites
You will need gocode
and godef
:
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v golang.org/x/tools/cmd/oracle
Make sure that gocode
executable is in your PATH.
Layer
To use this contribution add it to your ~/.spacemacs
(setq-default dotspacemacs-configuration-layers '(go))
Working with Go
Go commands (start with m
):
Key Binding | Description |
---|---|
SPC m h h |
godoc at point |
SPC m i g |
goto imports |
SPC m i a |
add import |
SPC m i r |
remove unused import |
SPC m e b |
go-play buffer |
SPC m e r |
go-play region |
SPC m e d |
download go-play snippet |
SPC m t p |
run "go test" for the current package |
SPC m g a |
jump to matching test file or back from test to code file |
SPC m g g |
go jump to definition |
SPC m r n |
go rename |
Go Oracle
Key Binding | Description |
---|---|
SPC m r o |
go-oracle set analysis scope |
SPC m r < |
go-oracle show possible callers |
SPC m r > |
go-oracle show call targets |
SPC m r c |
go-oracle show channel sends/receives |
SPC m r d |
go-oracle show definition |
SPC m r f |
go-oracle show free variables |
SPC m r g |
go-oracle show callgraph |
SPC m r i |
go-oracle show implements relation |
SPC m r p |
go-oracle show what the select expression points to |
SPC m r r |
go-oracle show all references to object |
SPC m r s |
go-oracle show callstack |
SPC m r t |
go-oracle describe selected syntax, kind, type and methods |