Go语言开发环境IntelliJ IDEA,惋惜没有remote debug

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

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

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

想得简单,实际作了一下,出了gdb remote之外都还行,可是也有些不爽的地方。golang

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

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

####而后提示没有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目录。gradle

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功能,回头试试看。

相关文章
相关标签/搜索