前言
因为一些问题,我重装了 GoLand,这里把自己常用的配置记录一下。
话说 GoLand 还真的小众,几乎搜不到什么个人的配置。
完全卸载 GoLand
# 删除这些下的东西
.local/share/Jetbrains/goland
.config/Jetbrains/goland
.cache/Jetbrains/goland
/opt/goland
## 卸载
sudo pacman -Rs goland
## 安装,goland-jre 在用 markdown 插件的时候有用
sudo pacman -S goland goland-jre
登录
首先一来就要登录,帐号密码
username
password
go 配置
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/edte/.cache/go-build"
GOENV="/home/edte/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/edte/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/edte/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build196531964=/tmp/go-build -gno-record-gcc-switches"
GOROOT
这个看 go env 即可,不过一般 goland 会自动读取
GOPATH
这个我只设置了一个 Global
/home/edte
然后把下面的两个框框点上
![20051e5fa07bf14a9a1ecf95407ed664.png](https://i-blog.csdnimg.cn/blog_migrate/f399079933b752978c2da90baafcc6ea.jpeg)
Go mod
这个在建立新项目时,直接
go mod init
创建 go mod 文件,再 go env 开启 go mod(这个第一次配置好即可)
然后把这个点上
![375adfdcce7e84e2c75fd4ba442b7928.png](https://i-blog.csdnimg.cn/blog_migrate/21062263255cb14d610b00352acaabc0.jpeg)
直接 action 搜索 go mod 就有
然后上面那个,index entire GOPATH 点上一般就能用了
![0dd34782d2f82133b5749bc17e96bfd4.png](https://i-blog.csdnimg.cn/blog_migrate/c25ffad8686292f94918fa1cce84f180.png)
外观
一般我用 Darcula 字体,ide 字体 22 或 24
![95c91386d038940495f72de3b2849a60.png](https://i-blog.csdnimg.cn/blog_migrate/2cca4a409d58c015428ebfe93c452b36.png)
背景
![595901895b9b64e97af0bc78af7aad35.png](https://i-blog.csdnimg.cn/blog_migrate/cefbc0f096ebd6097f12563da621cf07.jpeg)
或直接搜索 set back
https://api.zimu.info/picture/bing.php
页面字体
![0d9561b954577c3f0c769cc1145f3b6d.png](https://i-blog.csdnimg.cn/blog_migrate/782fd2dddaf4385ae3961ad2cf71e6df.jpeg)
keymap
GoLand 自带的快捷键非常多,自带的我就不说了,这里只列出我自己设置的
error description → Ctrl+1
next error → Ctrl+3
previous → Ctrl+2
run context configuraton →Ctrl+R
清理页面
关闭 tab
![19d49e81892eca5e24b15454d67d84e6.png](https://i-blog.csdnimg.cn/blog_migrate/82d40df56cbffe81ba660a0bc8e6ef29.jpeg)
使用 action 能极大的提高效率,我直接把各种边界的框框都关掉了,用 ctrl+e 加 ctrl+shift+a 能解决大部分问题
在 view/apperence 处关闭即可,我平时的开发界面都是这样的
![c20d0b9d3d409fc4da7c68a5304e84a0.png](https://i-blog.csdnimg.cn/blog_migrate/d2638a812bdc46188f34c059f3783c70.jpeg)
自动补全
文件头注释
![2aa1b3ffb305ed85b8041a36fe6f2c93.png](https://i-blog.csdnimg.cn/blog_migrate/432df079140ca95f6723a32c13e7dc90.jpeg)
// @program: ${PROJECT_NAME}
// @file: ${NAME}.go
// @author: ${USER}
// @create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
// @description:
package ${GO_PACKAGE_NAME}
postfix completion 后缀补全
key: fmt
fmt.Println($EXPR$)
key:log
if err!= nil {
log.Printf("failed to : %vn", $EXPR$)
return
}
key:string
string($EXPR$)
![818f4cb8b86f94e3c03735c1c0052a50.png](https://i-blog.csdnimg.cn/blog_migrate/2dd2c2018e7c9846adbf9f513e31cf8e.png)
插件
AceJump-Lite → 自动跳转
Statistic → 统计行数
Translation → 翻译
代码风格
导包分组
settings -> editor -> code style -> Go -> Imports
分为三组
![87b200579e33e33a7121d30fd393e9e8.png](https://i-blog.csdnimg.cn/blog_migrate/b9a3a29b69e6ef5dff9ba3e181f7797d.jpeg)
注释空格
alt+enter 生成注释时,有空格要舒服许多
打沟,加空格
![272e5c0cb57a2b6d0033bfe5cfbd7c64.png](https://i-blog.csdnimg.cn/blog_migrate/b1be7322afe103b577a2ea1ce52a2b4c.jpeg)