安装

对于一个软件的安装方法,网上太多了,点点点基本上就能安装一个app,可以网上看看。

配置

安装目前不多说,主要来说说配置。

vscode的配置管理有点类似git, 有以下三种级别:

  • Default 默认。这个是全局的,类似操作系统级别的配置 /et/profile,面向机器。
  • User 用户。也就是当前的用户 ~,面向用户。
  • Workspace 工作区。简单来说就是一个项目目录下的,面向具体某一个目录。

级别说完了,说下配置文件,名字都一样是:setting.json,以json文件的方式进行的管理。

它们有着优先级,高级的会覆盖低级的,类似开发过程中的一些配置逻辑。由低到高如下:默认 < 用户 < 工作区

至于配置文件的路径,和如何编辑这些配置文件,可以一起说。操作如下:

打开并进入 vscode 应用,按 shift + command + p,可以查看你想要的一切,只需要输入一个关键索引即可,比如查看配置。

输入:>setting.json。则会提示:

  • 默认。一般查看即可,需要设置时,可以设置用户级别配置文件进行优先覆盖。
  • 用户。若设置了,mac上一般在Appactions应用程序安装的Lib目录下。
  • 工作区。若设置了,一般在在工作目录的 .vscode/setting.json

三种配置,点击就可以进入编辑页面,在mac中编译页面顶部就有文件所在路径。

扩展

安装扩展,在线的直接在vscode中的左侧扩展管理搜索安装即可(推荐在线)。
至于,离线安装扩展,可以参考网上资料,没什么问题。

Go

安装:
在vscode左侧的扩展管理中,搜索go,安装即可。

配置:
关于Go扩展安装后,可以看到全局配置中,以go.xxx 或 [go]标识的,都是Go扩展的配置项。

  • 说下平时关心的配置,go环境在ide(vscode)中的配置。

全局默认配置是这样的:

    // Specify GOPATH here to override the one that is set as environment variable. The inferred GOPATH from workspace root overrides this, if go.inferGopath is set to true.
    "go.gopath": null,

    // Specifies the GOROOT to use when no environment variable is set.
    "go.goroot": null,

意思就是,如果不设置这些,就是默认shell加载的环境中 GOROOT, GOPATH 声明。

如果需要,自己可以在用户或工作区的配置文件中,自定义设置:

    "go.gopath": "/Users/edy/go",
    "go.goroot": "/usr/local/go/go@1.16.8",
  • 当想看下目前在vscode中,关于go运行环境是怎么样的呢?

打开并进入 vscode 应用,按 shift + command + p,可以查看你想要的一切,只需要输入一个关键索引即可,比如查看配置。

输入:> Go: Locate Configured Go Tools。选中,即可在控制台输出中看到目前在vscode中,对于go的环境配置情况。

最佳实践

用户级别的配置

{
    "go.addTags": {},
    "go.testFlags": [
        "-v",
        "-count=1"
    ],
    "go.testTimeout": "10s",
    "go.testEnvVars": {},
    "[go]": {
      "editor.insertSpaces": false,
      "editor.formatOnSave": true,
      "editor.codeActionsOnSave": {
        "source.organizeImports": true
      }
    },
    "files.autoSave": "onFocusChange",
    "go.autocompleteUnimportedPackages": true,
    "go.buildOnSave": "package",
    "go.lintOnSave": "package",
    "go.vetOnSave": "package",
    "go.buildFlags": [],
    "go.lintFlags": [],
    "go.vetFlags": [],
    "go.coverOnSave": false,
    "go.useCodeSnippetsOnFunctionSuggest": false,
    "editor.formatOnSave": true,
    "editor.formatOnType": false,
    "go.formatTool": "goreturns",
    "go.docsTool": "gogetdoc",
    "go.gocodeAutoBuild": false,
    "fileheader.configObj": {
      "autoAdd": false,
      "autoAlready": false,
      "language": {
        "go": {
          "head": "/**",
          "middle": " * @",
          "end": " */"
        }
      }
    },
    "fileheader.cursorMode": {},
    "fileheader.customMade": {
      "Author": "Andy Chu",
      "Date": "Do not edit",
      "LastEditTime": "Do not edit",
      "LastEditors": "Andy Chu",
      "FilePath": "Do not edit",
      "Description": ""
    },
    "workbench.editorAssociations": {
      "*.go": "default"
    },
    "go.useLanguageServer": true,
    "go.alternateTools": {},
    "go.delveConfig": {
      "dlvLoadConfig": {
        "followPointers": true,
        "maxVariableRecurse": 1,
        "maxStringLen": 64,
        "maxArrayValues": 64,
        "maxStructFields": -1
      },
      "apiVersion": 2,
      "showGlobalVariables": true
    },
    "explorer.confirmDragAndDrop": false,
    "window.zoomLevel": 1,
    "git.openRepositoryInParentFolders": "never"
}

这个里边,包括了:Go扩展,fileheader标头扩展,自动保存等配置项,可作为参考。

QA

  • 问题1

每次打开vscode,都提示这个:

image.png

大概意思是,一些工具需要运行在go1.16.8版本中。也就是说:目前这些版本不能运行在这个版本,为什么呢?

打开并进入 vscode 应用,按 shift + command + p,可以查看你想要的一切,只需要输入一个关键索引即可,比如查看配置。

输入:> Go: Locate Configured Go Tools。选中,即可在控制台输出中看到目前在vscode中,对于go的环境配置情况。

我看了下当前vscode的go运行环境,如下:

    go:    /usr/local/go/go@1.16.8/bin/go: go version go1.16.8 darwin/amd64

    gotests:    /Users/edy/go/bin/gotests    (version: v1.5.3 built with go: go1.13.1)
    gomodifytags:    /Users/edy/go/bin/gomodifytags    (version: v1.3.0 built with go: go1.13.1)
    impl:    /Users/edy/go/bin/impl    (version: v0.0.0-20191119165012-6b9658ad00c7 built with go: go1.13.1)
    goplay:    /Users/edy/go/bin/goplay    (version: v1.0.0 built with go: go1.13.1)
    dlv:    /Users/edy/go/bin/dlv    (version: (devel) built with go: go1.13.1)
    staticcheck:    not installed
    gopls:    /Users/edy/go/bin/gopls    (version: (devel) built with go: go1.16.8)

也就是到了原因,很久前的go在配置时,go扩展安装后,部分命令无法使用,需要自己拉取包并安装命令,当时编译的命令时go的版本是:go1.13.1 所以,现在提示和当前的go1.16.8版本不一致问题。

解决:
将这些命令,重新编译下安装即可。(也可以不解决,不影响)


红苹果
1 声望0 粉丝