Git Product home page Git Product logo

goide's Introduction

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

goide's People

Contributors

kaihendry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.