Emacs package for adding imports.
Add something like below to ~/.emacs
:
(add-hook 'go-mode-hook
#'(lambda()
(require 'go-imports)
(define-key go-mode-map "\C-cI" 'go-imports-insert-import)
(define-key go-mode-map "\C-cR" go-imports-reload-packages-list)))
Say you have github.com/stretchr/testify/require in your GOPATH, and you want to use this package in your go file. Invoking
(go-imports-insert-import "require")
will insert the import line
import (
"github.com/stretchr/testify/require"
)
in the file. If invoked interactively, it will insert an import for the symbol at point.
The mappings from the package name (e.g., "require") to thus package path (e.g., "github.com/stretchr/testify/require") is discovered by scanning all the *.go files under GOROOT and GOPATH when the go-imports-insert-import is first called.
Calling go-imports-reload-packages-list will reload the package-name mappings.