Skip to content

kaihendry/goide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim with:

  • vim-go for a Golang IDE
  • dlv for debugging
  • :GoTests for generating tests

Try it!

alias g='docker run -it --rm -v $(pwd):/src hendry/goide:latest $@'

Prefer a shell instead?

docker run -it --rm --entrypoint=bash -v $(pwd):/src hendry/goide

Keyboard shortcuts

\ is called the "leader" key in vim.

  • \r Run current buffer
  • F12 Show definition, C-o to switch back
  • C-x C-o Autocomplete with gopls
  • C-g Show functions / declarations
  • \t Go test, \ga switch between test and code
  • K Show documentation

Debug

  • F5 Start / Continue
  • F8 Stop
  • F9 Toggle breakpoint
  • F10 Debug next line
  • F11 Debug step into next function

Super handy commands

  • :GoFillStruct
  • :GoRename
  • :GoAddTags
  • :GoPlay

Do read https://github.com/fatih/vim-go-tutorial

Compared to VS code

Following https://www.youtube.com/watch?v=1MXIGYrMk80 with https://golang.org/doc/code, this project has a couple of advantages:

  • Docker image streamlines setup. No hoop jumping to install the entire environment assuming you have Docker and make installed
  • Efficient vim key bindings, use vimtutor to learn how to edit with it
  • Can be used easily upon remote environments, a terminal environment is all you need
  • :Gotests makes it easier to generate tests

Elsewhere