Goland的设置与配置全过程

 更新时间:2023年02月16日 14:04:50   作者:@航空母舰  
这篇文章主要介绍了Goland的设置与配置全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

常用插件

  • Tabnine AI 代码补全
  • Protocol Buffers
  • String Manipulation
  • Rainbow Brackets 方法括号颜色分组
  • GitToolBox 查看代码行git/svn提交记录
  • git commit template 规范GIT代码提交

WIN10 配置golang环境变量

第一个是系统变量,新建一个GOROOT(Go语言安装目录),我是建完之后接的图,新建的话正常上面应该显示“新建系统变量”,变量值就浏览目录选择上面安装的那个目录就行。

GOROOT

然后还是系统变量,GOPATH(Go的工程目录),这里我参考一个博主的新建了一个文件夹Go_WorkSpace

GOPATH

因为修改了系统的GOPATH所以要把用户变量里面的也对应改掉(如果你不改的话就不需要啦)

用户变量

接下来 建立GOPATH目录

在上述GOPATH对应路径下,新建 bin、pkg、src 三个文件夹,见下图。

就这样

都完了之后 检查go是否安装成功

键盘按住win+R运行cmd,输入 go env命令并回车,查看GOPATH和GOROOT信息与上面的配置是否相符。

解决go包管理代理网址无法访问:proxy.golang.org 换一个国内能访问的代理地址 

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

添加GOPATH

Edit Configurations选项

设置gofmt与goimports,保存时自动格式化代码

首先,得保证安装了一个叫做"File Watchers"的插件,并设置为启用状态。

  • gofmt 保存的时候自动 格式化go代码
  • goimports  保存的时候自动导入处理包
  • gometalinter 保存的时候自动检查go语法

安装goimports

go get golang.org/x/tools/cmd/goimports

这时,goimports会被安装在$GOPATH/bin 下 

然后,直接在Tools -> File Watchers中,添加如下设置 

GoLand 取消 import 自动导入

将 tab 改为 4个空格

导入项目后import里的包报红

1.Goland--->Preferences...--->Go--->GOPATH--->Project GOPATH下添加命令行go env下的GOPATH值,自行修改自己的Project GOPATH

2.正常情况下我们不需要自己去处理外部包的代理,但是也有可能就是你不经意之间做了修改,这边也是通过setting进行配置: 

设置 text file encoding 为 UTF-8

文件的换行符使用 Unix 格式

MacOS下Golang环境配置

安装与配置

1,下载并安装go的sdk

可以搜索go官网或者直接点击https://golang.google.cn

在这里插入图片描述

Select Home Directory for Go SDK: The selected directory is not a valid home for Go SDK

进入Go的安装目录,如$GOROOT/src/runtime/internal/sys,打开zversion.go文件,加上自己的版本号即可

const TheVersion = `go1.17.11`

保存,重启IDEA就行了.

$GOPATH/go.mod exists but should not

开启模块支持后,并不能与$GOPATH共存,所以把红框中的项目从$GOPATH中移除即可

Version of Delve is too old for this version of Go

也就是现在 Goland 使用的 dlv,不支持 Go > 1.12 的版本,所以实际上,升级一下 dlv,然后将 Goland 使用的 dlv 路径重新指定一下就好了。下载dlv

go install github.com/go-delve/delve/cmd/dlv@v1.7.3
#module declares its path as: 暂时关闭mod安装
export GO111MODULE=off && go get -v github.com/derekparker/delve/cmd/dlv

在goland>help>Edit Custom Properties 

dlv.path=/Users/XXX/go/bin/dlv

重启GOLAND之后,方可大功告成

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • GO语言实现日志切割的示例详解

    GO语言实现日志切割的示例详解

    日志记录对程序排查问题比较关键,所以本文将选择Logrus和lumberjack两个库进行日志切割以及记录调用源,感兴趣的小伙伴可以了解一下
    2023-07-07
  • 使用Go语言编写一个毫秒级生成组件库文档工具

    使用Go语言编写一个毫秒级生成组件库文档工具

    在开发组件库的过程中,文档无疑是不可或缺的一环,在本文中将尝试将Go语言与前端技术巧妙融合,以创建一款能在毫秒级别完成文档生成的工具,需要的可以参考下
    2024-03-03
  • Windows下安装VScode 并使用及中文配置方法

    Windows下安装VScode 并使用及中文配置方法

    这篇文章主要介绍了Windows下安装VScode 并使用及中文配置的方法详解,本文通过图文并茂的形式给大家介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Bililive-go 实现直播自动监控录制功能

    Bililive-go 实现直播自动监控录制功能

    最近有直播录制的需求,但是自己手动录制太麻烦繁琐,于是用了开源项目Bililive-go进行全自动监控录制,对Bililive-go 直播自动监控录制实现思路感兴趣的朋友,一起看看吧
    2024-03-03
  • 一文详解Go语言中的有限状态机FSM

    一文详解Go语言中的有限状态机FSM

    有限状态机(Finite State Machine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件。本文主要来和大家简单讲讲Go语言中的有限状态机FSM的使用,需要的可以参考一下
    2023-04-04
  • Go语言基础函数包的使用学习

    Go语言基础函数包的使用学习

    本文通过一个实现加减乘除运算的小程序来介绍go函数的使用,以及使用函数的注意事项,并引出了对包的了解和使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Golang实现优雅的将struct转换为map

    Golang实现优雅的将struct转换为map

    在项目实践中,有时候我们需要将struct结构体转为map映射表,然后基于map做数据裁剪或操作。那么下面我来介绍下常用的两种转换方式,希望对大家有所帮助
    2023-01-01
  • 深入理解Go语言中的数组和切片

    深入理解Go语言中的数组和切片

    Go语言中的数组大概相当与C/C++中的数组,固定大小,不能够动态扩展大小,而切片大概相当与C++中的Vector,可以动态扩展大小,当大小超过容量时,重新分配一块内存,然后将数据复制到新的内存区域。下面我们通过几个问题来更好理解golang 的数组和切片,一起来看看吧。
    2016-09-09
  • GO语言并发编程之互斥锁、读写锁详解

    GO语言并发编程之互斥锁、读写锁详解

    这篇文章主要介绍了GO语言并发编程之互斥锁、读写锁详解,本文是GO并发编程实战一书的样章,详细讲解了互斥锁、读写锁,然后给出了一个完整示例,需要的朋友可以参考下
    2014-11-11
  • Go在GoLand中引用github.com中的第三方包具体步骤

    Go在GoLand中引用github.com中的第三方包具体步骤

    这篇文章主要给大家介绍了关于Go在GoLand中引用github.com中第三方包的具体步骤,文中通过图文介绍的非常详细,对大家学习或者使用Go具有一定的参考价值,需要的朋友可以参考下
    2024-01-01

最新评论