由于vscode对go语言的支持还是hin不错滴,所以我日常学习go都用vscode,但这货有个毛病,各种lint、补全、nav、调试都依赖go语言的其他扩展工具,如果安装补全,会给出类似提示
从官方文档中可以明确,VSCode依赖的几款工具完成不同功能:
名称 | 描述 | 链接 |
---|---|---|
gocode | 代码自动补全 | github.com/mdempsky/gocode |
go-outline | 在当前文件中查找 | github.com/ramya-rao-a/go-outline |
go-symbols | 在项目路径下查找 | github.com/acroca/go-symbols |
gopkgs | 自动补全未导入包 | github.com/uudashr/gopkgs |
guru | 查询所有引用 | golang.org/x/tools/cmd/guru |
gorename | 重命名符号 | golang.org/x/tools/cmd/gorename |
goreturns | 格式化代码 | github.com/sqs/goreturns |
godef | 跳转到声明 | github.com/rogpeppe/godef |
godoc | 鼠标悬浮时文档提示 | golang.org/x/tools/cmd/godoc |
golint | 就是lint | golang.org/x/lint/golint |
dlv | 调试功能 | github.com/derekparker/delve/tree/master/cmd/dlv |
gomodifytags | 修改结构体标签 | github.com/fatih/gomodifytags |
goplay | 运行当前go文件 | github.com/haya14busa/goplay/ |
impl | 新建接口 | github.com/josharian/impl |
gotype-live | 类型诊断 | github.com/tylerb/gotype-live |
gotests | 单元测试 | github.com/cweill/gotests/ |
go-langserver | 语言服务 | github.com/sourcegraph/go-langserver |
filstruct | 结构体成员默认值 | github.com/davidrjenni/reftools/tree/master/cmd/fillstruct |