zoukankan      html  css  js  c++  java
  • 【Golang】vscode 设置 go 开发环境

    步骤

    1. 始

    Golang 语言开发选择一款合适的编辑器,能加速你敲字的灵感,这里推荐微软的 Visual Studio Code,简称 vscode。

    2. 安装 go 插件

    首先需要安装 go 语言插件,在 vscode 扩展中搜索 “go”,如下图,下载安装go插件

    image-20201101170130488

    image-20201101170447244

    3. 设置 GOPROXY

    如果想要 vscode 在 Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能,需要安装 go tools,但是安装 tools 需要设置 goproxy,否则会因为网络问题无法下载 tools 工具。

    在此之前请先设置GOPROXY,打开终端执行以下命令:

    go env -w GOPROXY=https://goproxy.cn,direct
    

    4. 安装 Go语言开发工具包

    安装 Golang Tools,按下 Ctrl/Cmd+P,输入> Go: Install/Update Tools,然后回车,选择你要安装的 tools 插件

    image-20201101172850059

    image-20201101173030140

    5. 插件介绍

    tools 名称 用途
    gocode github.com/mdempsky/gocode 代码自动完成
    gopkgs github.com/uudashr/gopkgs/v2/cmd/gopkgs 该工具为未导入的软件包提供自动补全功能
    go-outline github.com/ramya-rao-a/go-outline 此工具提供了文档大纲功能以及当前文件功能中的转到符号
    go-symbols github.com/acroca/go-symbols 此工具提供了工作空间中的转到符号功能。
    guru golang.org/x/tools/cmd/guru 该工具提供查找参考查找接口实现功能。
    它也可用于通过设置提供转到定义"go.docsTool"
    gorename golang.org/x/tools/cmd/gorename 此工具提供了重命名符号功能。
    gotests github.com/cweill/gotests/... 该工具为Go: Generate Unit Tests命令集提供支持。
    gomodifytags github.com/fatih/gomodifytags 该工具支持Go: Add Tags to Struct FieldsGo: Remove Tags From Struct Fields命令。
    impl github.com/josharian/impl 该工具为Go: Generate Interface Stubs命令提供支持。
    fillstruct github.com/davidrjenni/reftools/cmd/fillstruct 该工具提供了对Go: Fill struct命令的支持。
    goplay github.com/haya14busa/goplay/cmd/goplay 该工具为Go: Run on Go Playground命令提供支持。
    godoctor github.com/godoctor/godoctor 该工具提供了重构功能。
    它不支持Go模块,因此我们希望gopls它将提供此功能(golang / go#37170)。
    dlv github.com/go-delve/delve/cmd/dlv 这是Go语言的调试器。它用于提供此扩展的调试功能。
    gocode-gomod github.com/stamblerre/gocode
    goreturns github.com/sqs/goreturns
    golint golang.org/x/lint/golint

    6. 打开vscode设置

    image-20201101174435968

    image-20201101174527975

    7. settings.json 配置

      "go.inferGopath": true,
      "go.autocompleteUnimportedPackages": true,
      "go.gocodePackageLookupMode": "go",
      "go.gotoSymbol.includeImports": true,
      "go.useCodeSnippetsOnFunctionSuggest": true,
      "go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
      "go.docsTool": "guru",
    

    image-20201101174633072

    8. settings.json 参数介绍:

    8.1 跳转到定义

    • go.docsTools:这里有三个选项,默认使用 gogetdoc,不知为何我这里选择之后无法使用 ctrl/cmd +鼠标左键点击跳转函数或者源码,于是我选择了 guru

    image-20201101175010106

    9. 效果

    QQ20201101-181724-HD

    参考链接:

    https://github.com/microsoft/vscode-go

    https://github.com/golang/vscode-go

    https://github.com/golang/vscode-go/blob/master/docs/tools.md

    https://golang.google.cn/

  • 相关阅读:
    python之连接oracle数据库
    从一副牌中随机抽一张牌
    判断一个点是否在圆内
    判断每个月有多少天
    猜数字游戏
    求一元二次方程的2个跟
    Servlet细节处理
    Servlet
    Http协议
    Struts2(2)
  • 原文地址:https://www.cnblogs.com/UncleZhao/p/13910524.html
Copyright © 2011-2022 走看看