热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

macOSVSCode配置Go编程环境

macOSVSCode配置Go编程环境-笔者使用macOSBigSur安装完Go1.16.6和VSCodeGo插件,然后运行时,往往会报诸如下面的错误:buildesc:ca

笔者使用 macOS BigSur 安装完 Go 1.16.6 和 VSCode Go 插件,然后运行时,往往会报诸如下面的错误:

build esc: cannot load xxx : malformed module path “xxx”: missing dot in first path element
warning: GOPATH set to GOROOT (/Users/xxx/go/) has no effect

实际上,这都是由于 GOPATH 和 GOROOT 这两个关键参数配置错误造成的。至于这两个参数是什么含义,可以看我之前的博文:GOROOT、GOPATH 以及 Go 相关命令。

下面我将从在 macOS 安装 go 开始来讲解配置流程:

  1. 首先,我们建立在使用 brew 安装 go 的前提下
    brew install go
  2. 查看环境变量
    在终端输入以下命令查看对应环境变量
    go env GOPATH 查看 GOPATH
    go env GOROOT 查看 GOROOT
    例如我的两个:
    $ go env GOPATH
    /Users/vio1etus/go
    $ go env GOROOT
    /usr/local/Cellar/go/1.16.6/libexec
    
  3. ~/.bash_profile或者~/.bashrc(如果你使用 zsh,则在~/.zshrc)中加入命令如下,下面的 GOPATH 和 GOROOT 都以我自己的为例,请对应修改
    export GOPATH=/Users/vio1etus/go
    export GOROOT=/usr/local/Cellar/go/1.16.6/libexec
    export PATH=$PATH:$GOPATH/bin
    export PATH=$PATH:$GOROOT/bin
    
  4. 在当前 shell 生效
    source ~/.bash_profilesource ~/.zshrc

注意:在 macOS 上安装完 VSCode 之后,终端默认没有配置 code 命令,可以打开 Command Palette(Cmd+Shift+P),输入 shell command,将 code 命令安装到终端

配置 VSCode 设置

如果你用 VSCode 来进行 Go 编程,并且希望通过它进行 Debug 调试,安装如下插件:
Go - Visual Studio Marketplace

打开 VSCode 的 setting.json(直接去目录找~/Library/Application Support/Code/User/settings.json也可)加入 go 相关配置:
注意

  1. 前两行中的 GOPATH 和 GOROOT 都以我自己的为例,请对应修改
  2. 注意修改第三行 HTTP 代理的端口,方便FQ下载 go 工具
"go.gopath": "/Users/vio1etus/go",
"go.goroot": "/usr/local/Cellar/go/1.16.6/libexec",
"http.proxy": "http://127.0.0.1:7890",
// Run Lint tool on save.
"go.lintOnSave": "file", //在保存代码时自动检查代码可以优化的地方,并给出建议
"go.formatTool": "gofmt", //使用 goimports 工具进行代码格式化,或者使用 goreturns 和 gofmt
"go.docsTool": "gogetdoc",
"go.autocompleteUnimportedPackages": true,
// Specifies Lint tool name.
"go.lintTool": "golint",
// Flags to pass to Lint tool (e.g. ["-min_cOnfidence=.8"])
"go.lintFlags": [],
"go.coverOnSave": false, //在保存代码时执行测试,并显示测试覆盖率
"go.useCodeSnippetsOnFunctionSuggest": true, //使用代码片段作为提示
"go.gocodeAutoBuild": false, //代码自动编译构建
"cSpell.enableFiletypes": [
    "go.mod",
    "go.sum"
],
"[go]": {
    "editor.insertSpaces": false,
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
    },
    "editor.suggest.snippetsPreventQuickSuggestions": false
}

然后打开 Command Palette(Cmd+Shift+P),输入 go:install,点击选择 Go:Install/Update Tools,全选所有工具进行安装:

最后在项目目录的 .vscode 目录的 launch.json 中添加如下:

{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}",
"args":["serve"]
}

下面就可以在 Debug 页面找到 Launch Package 选项快乐地 debug go 了。

参考文章

  1. Running Visual Studio Code on macOS
  2. Visual Studio Code for mac 设置代理 安装go开发环境_mixboot-CSDN博客

推荐阅读
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
author-avatar
神话海青_769
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有