原文连接:https://maiyang.me/post/2018-09-14-tips-vscode/

VSCode 必须安装以下插件:

首先你必须安装 Golang 插件,然后再给 Go 安装工具包。

在 VS Code 中,使用快捷键:command+shift+P,然后键入:go:install/update tools,将所有 16 个插件都勾选上,然后点击 OK 即开始安装。

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  1. Installing 16 tools at /Users/maiyang/develop/goworkspace//bin
  2. gocode
  3. gopkgs
  4. go-outline
  5. go-symbols
  6. guru
  7. gorename
  8. dlv
  9. godef
  10. godoc
  11. goreturns
  12. golint
  13. gotests
  14. gomodifytags
  15. impl
  16. fillstruct
  17. goplay
  18.  
  19. Installing github.com/mdempsky/gocode SUCCEEDED
  20. Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
  21. Installing github.com/ramya-rao-a/go-outline SUCCEEDED
  22. Installing github.com/acroca/go-symbols SUCCEEDED
  23. Installing golang.org/x/tools/cmd/guru SUCCEEDED
  24. Installing golang.org/x/tools/cmd/gorename SUCCEEDED
  25. Installing github.com/derekparker/delve/cmd/dlv SUCCEEDED
  26. Installing github.com/rogpeppe/godef SUCCEEDED
  27. Installing golang.org/x/tools/cmd/godoc SUCCEEDED
  28. Installing github.com/sqs/goreturns SUCCEEDED
  29. Installing github.com/golang/lint/golint SUCCEEDED
  30. Installing github.com/cweill/gotests/... SUCCEEDED
  31. Installing github.com/fatih/gomodifytags SUCCEEDED
  32. Installing github.com/josharian/impl SUCCEEDED
  33. Installing github.com/davidrjenni/reftools/cmd/fillstruct SUCCEEDED
  34. Installing github.com/haya14busa/goplay/cmd/goplay SUCCEEDED
  35.  
  36. All tools successfully installed. You're ready to Go :).

修改默认配置的方法:

在 Preferences -> Setting 然后输入 go,然后选择 setting.json,填入你想要修改的配置

  • 自动完成未导入的包。
  1. 1
  1. "go.autocompleteUnimportedPackages": true,
  • VSCode 的一些插件需要配置代理,才能够正常安装。
  1. 1
  1. "http.proxy": "192.168.0.100:1087",
  • 如果你遇到使用标准包可以出现代码提示,但是使用自己的包或者第三方库无法出现代码提示,你可以查看一下你的配置项。
  1. 1
  1. "go.inferGopath": true,
  • 如果引用的包使用了 ( . “aa.com/text”) 那这个text包下的函数也无法跳转进去,这是为什么?

修改 "go.docsTool" 为 gogetdoc,默认是 godoc

  1. 1
  1. "go.docsTool": "gogetdoc",

其他

  1. 当我们在使用 import 功能的时候,如果无法通过 lint 检查,则不会执行自动 import。
  2. 如果你需要自动 import 的前提是你必须把要导入的包的函数写完整。

附带我的 settings.json

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  1. {
  2. "go.goroot": "",
  3. "go.gopath": "",
  4. "go.inferGopath": true,
  5. "go.autocompleteUnimportedPackages": true,
  6. "go.gocodePackageLookupMode": "go",
  7. "go.gotoSymbol.includeImports": true,
  8. "go.useCodeSnippetsOnFunctionSuggest": true,
  9. "go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
  10. "go.docsTool": "gogetdoc",
  11. }

【转载】VS Code 中的代码自动补全和自动导入包的更多相关文章

  1. ipython, 一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数

    一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. 若用的是fish s ...

  2. Notepad++ 自动补全,括号自动完成插件,主题和字体设置

    Notepad++ 自动补全成对符号http://rabbit52.com/2012/devel/notepad-autocomplete-brackets QuickText 和 Zen Codin ...

  3. IDEA sql自动补全/sql自动提示/sql列名提示

    一.启用idea的database插件 File->Settings->Plugins 搜索Database Tools and SQL 选择Enable 启用或者勾选 二.新建Datab ...

  4. Xcode升级7.3 自动补全不提示导入的自定义类解决方案

    见图:

  5. Vim自动补全神器–YouCompleteMe

    一.简介 YouCompleteMe是Vim的自动补全插件,与同类插件相比,具有如下优势 1.基于语义补全 2.整合实现了多种插件 clang_complete.AutoComplPop .Super ...

  6. 给 zsh 自定义命令添加参数自动补全

    有时我会自定义一些 zsh 命令,以便提升某些高频操作的效率.本文记录我给一个自定义命令添加参数自动补全的方法. 场景 我自定义了一个 zsh 命令 gmt,执行 gmt <b2>,可以将 ...

  7. ES系列十三、Elasticsearch Suggester API(自动补全)

    1.概念 1.补全api主要分为四类 Term Suggester(纠错补全,输入错误的情况下补全正确的单词) Phrase Suggester(自动补全短语,输入一个单词补全整个短语) Comple ...

  8. 【转】【Linux经验】Codeblocks 13.12自动补全 、缩进解决

    最近使用Xubuntu 14.04学习C语言编程,发现了Codeblocks这款比较方便简单.适合我这种新手的IDE.之前用过Codeblocks10.04,它的代码自动补全和自动缩进让我眼前一亮.但 ...

  9. Redis 实战 —— 08. 实现自动补全、分布式锁和计数信号量

    自动补全 P109 自动补全在日常业务中随处可见,应该算一种最常见最通用的功能.实际业务场景肯定要包括包含子串的情况,其实这在一定程度上转换成了搜索功能,即包含某个子串的串,且优先展示前缀匹配的串.如 ...

随机推荐

  1. 跨域知识(一)——CORS

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...

  2. C++中String字符串查找

    在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C ...

  3. LeetCode110 Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  4. 12-3 DOM操作

    一 DOM基础 1 DOM介绍 DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组 ...

  5. python基础---集合类型(Sets)

    集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的重复.以及科学计算,例如交集.并集.差分和对称差分.通俗点来说,集合是一个无序 ...

  6. 解决大数据难题 阿里云MaxCompute获科技大奖

    摘要: 据介绍,MaxCompute(大规模分布式的数据计算平台)是国内最早自研的大数据计算平台之一,主要应用于大规模数据处理场景.目前,这项源自浙江.解决世界级难题的成果已拥有EB(百京)级别的数据 ...

  7. @总结 - 10@ Miller-Rabin素性测试与Pollard-Rho因数分解

    目录 @1 - 素性测试:Miller-Rabin算法@ @1.1 - 算法来源@ @1.2 - 算法描述@ @1.3 - 算法实现@ @2 - 因数分解:Pollard-Rho算法@ @2.0 - ...

  8. vue简单总结

    首先  介绍几个常见指令 指令:以属性的形式出现在标签上 v-xxx 1.内置指令 数据绑定指令  v-html v-text    举例 <span v-html="msg" ...

  9. behavior planning——13. implement a cost function in C++

    In the previous quizzes, you designed a cost function to choose a lane when trying to reach a goal i ...

  10. H3C CSMA/CD载波侦听