博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go语言开发环境IntelliJ IDEA,可惜没有remote debug
阅读量:6250 次
发布时间:2019-06-22

本文共 1540 字,大约阅读时间需要 5 分钟。

hot3.png

开发系统: Mac OS X 10.11.5 EI Capitan 开发工具:

  • 代码编写: IntelliJ IDEA (实际用了WebStorm。搞不好Android Studio都行)。
  • 编译测试运行调试: Docker Toolbox (Docker的真正的编译和测试环境是在一个特权容器里做的,好的。)

基本想法就是:在集成开发环境下写代码比较轻松,能够自动完补定位什么的,愈发检查通过了以后,再在特权容器里编译测试运行,甚至,通过IDEA远程调试,就是gdbserver那一套。

想得简单,实际做了一下,出了gdb remote以外都还行,但是也有些不爽的地方。

用IntelliJ IDEA打开docker源码目录,剩下来的他怎么提醒就怎么做。

随便一打开一个go文件,它就提醒安装golang插件。那就点击安装。

####然后提示没有Go SDK,那就安装Go SDK到本机:

brew install golang

然后把SDK路径配制成 /usr/local/Cellar/go/1.6.3/libexecGo SDK setting

####然后Go插件唧唧歪歪说缺少GOPATH环境变量。 这就是恶心的地方了,这还算好的了,以前还需要另一个GOROOT变量,经过进化,终于省掉了一个,可是还留着尾巴。别想这垃圾了,随便设定一个就行了。 垃圾的GOPATH

这个GOPATH其实相当于NodeJS的NPM管理包的node_modules目录。

Docker的编译环境里甚至用的是export GOPATH="$(mktemp -d)",临时目录。你说这东西能有什么名堂,干脆都这样搞算了,就像Xcode那样,每个Project见一个临时目录在外面,干干净净。

所以这东西压根就是多虑产生的废物,最简单的方法是在用户的环境变量里设定成~/go之类的(目录自己先建一下),再多虑的那就在Project设定里自己指定一个目录。

####然后,就会发现源码里到处红色错误说import失败。 解决方法就是,IntelliJ一贯的作风:在错误的地方点一下,行头会漂浮出一个解决方案,哈,就是下载软件包,当然不用每个相同的错误都一个个点过去,而是执行漂浮菜单里的那个个“全部搞定”的命令。

一把搞定所有的import错误

####最后还是有东西红色错误,说什么container.Container不存在。 Mac里没有的东西,只有linux/unix有,所以得把golang的编译器设定成linux。 Go交叉编译器设定 就改一点: Go交叉编译器OS设定

####这下都安静了。

IntelliJ IDEA里的Go语言环境一瞥

这个IntelliJ IDEA虽然吃内存启动慢,但是机器好时都不是问题,很智能,写起代码很舒服。

####Remote gdb呢? 没想到的是, IntelliJ IDEA虽然能轻松的调试本地的Go代码,但不能像Java那样远程调试到别的机器里的。

暂时也没找到远程gdb插件。还是手动gdb命令行搞算了。

####看来Go语言的开发环境还处在初级阶段。 1.却少Java里类似于gradle之类的统一天下的自动加载package的机制。 2.却少remote debug,不利于调试容器中的东西。 3.垃圾环境变量GOPATH还没消除,至少搞成可选配置也好啊。要是没这强制要求估计自动package加载就好了,反正go get都有了。

总之让人上手就得折腾就不好。

不过golang本身不错,虽然丑陋但是把它想象成C语言的升级版就很觉得赚大了。


2016/07/27:想起IntelliJ IDEA还有一个分支是C/C++开发环境,叫做CLion,里面很可能有gdb remote debug功能,回头试试看。

转载于:https://my.oschina.net/osexp2003/blog/718466

你可能感兴趣的文章
编年史:OI算法总结
查看>>
IOS Exception 1(RangeText="[SKTexture]()")
查看>>
IOCP基础封装
查看>>
kendo column chart
查看>>
codeforces 721D Maxim and Array
查看>>
sass学习
查看>>
六、使用函数
查看>>
Windows Server 2012 蓝屏 Wpprecorder.sys 故障
查看>>
ImageMagick 批量处理图片脚本
查看>>
MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
查看>>
【IT公司笔试面试】75道逻辑推理题及答案
查看>>
免费馅饼
查看>>
《Typecript 入门教程》 1、类
查看>>
使用 xsd.exe 命令工具将 xsd 架构生成 类(CS) 文件
查看>>
分享一个漂亮的ASP.NET MVC黑色界面框架
查看>>
求出0~999之间的所有“水仙花数”并输出
查看>>
《文件管理》作业
查看>>
算术类型&确定编译环境的位数
查看>>
连接数据库基本步骤
查看>>
javascript基础篇:函数
查看>>