我使用https://github.com/nsf/gocode和https://github.com/Shougo/neocomplete.vim进行Go自动完成.
除了一件小事之外,它的效果非常好.当我输入像
fmt.pri
我这样的自动完成选项时:
fmt.Println(a ...interface{}) (n int, err error)
由于我是Go的新手,这非常有用,因为现在我知道该方法采用了什么参数,类型是什么,以及它返回了什么.不幸的是,一旦我写了过去括号,信息就消失了.
fmt.Println(
因此,对于我第一次使用的更复杂的方法,我陷入困境,必须跳转到源定义,或运行godoc.
在某处可以获得这些信息要容易得多,最好是在命令/状态行所在的Vim底部.
有谁知道如何实现这样的事情?
编辑:预览窗口打破我的Vim所以它不是一个选项.
我使用autocomplpop(好吧,我的分支),它有一个功能,它可以创建一个小的分割窗口,其中的完成文本会粘在周围。当您设置时它会执行此操作...
let g:acp_completeoptPreview = 1
Run Code Online (Sandbox Code Playgroud)
我确信 neocomplcache 也有类似的功能。浏览其文档,它在几个地方讨论了预览窗口。在其文档中搜索预览并查看可以找到什么。
这最终由包含“preview”的“completeopt”控制(:hcompleteopt)。自动完成包通常将这些值设置为其功能的一部分,这就是为什么使用 autocomplpop 您需要使用其选项来控制它,而不是仅仅执行“completeopt+=preview”。