当今新兴语言中最实用的当数lua和go语言。lua在游戏界可谓是大红大紫,而golang在服务器也是隐隐有了霸主地位。我曾经在一个golang群中听说他们组(游戏行业)年终奖上千万...在游戏业这样变化异常多端的行业里,用传统C++来开发后台确实是跟不上时代的脚步了。用golang和Erlang开发游戏后端几乎是当今的必然选择。这和游戏前端用lua和C#如此流行的原因基本上是一样的--那就是开发效率。
当然了开发语言之争永远没有结果,也不是我们今天要讨论的。我们今天要说的是go语言的开发工具LiteIDE。golang的开发工具还是比较多的,不过比较下来我个人推荐微软的vscode和这款开源的LiteIDE。要说功能vscode强一些,特别是调试。但vscode的配置是比较繁琐的,前段公司有紧急任务时,我直接下载了liteide一小时内完成了任务,这用vscode是不可想象的。至于很多人觉得liteide是玩具级别的,我个人不敢苟同。当然早期的时间里我确实也是这样想的。不过在几个新环境接了好几个比较紧的任务后,我不得不从vscode转向liteide,坦率地说,默认安装后的liteide确实不太好用,下面我简单介绍一下我顺手的liteide的打造方法。
去掉自动代码格式化
golang和python一样有个让很多人特别是老手们很不爽的特点:那就是对代码的格式要求非常严格。我个人虽然很喜欢go语言,不过也不得不承认确实略有变态...因为对于我们这些自以为是的老手来说,折行都要规定实在太过份了,有时候折行也是我们表达编程思想的一部分好不好...但不管怎样代码的格式化就是golang的思想的一部分,这种思想也很无奈的体现到它的开发工具中,象vscode和liteide默认情况下都会自动修改你的代码的格式,即使你的代码已经正确地编译无误了。这种情况真的很让人无奈。所以我安装上golang工具后的第一件事就是要禁掉代码自动格式化,而liteide的这个选项还不太好找:在菜单查看-选项中弹出设置窗口后,再选择GolangFmt,取消提文件保存时...那个选项就可以了,如图:
取消代码自动格式化估计你会问,为啥不取个清楚点的中文选项,叫GolangFmt谁知道是什么意思啊...这是因为GolangFmt这个东西是一个插件,不好翻译为中文名称。幸好其他的golangide也基本上是用的这个插件,所以记住它的英文名也有好处:那就是以后用其他ide了也方便找到这个功能。
2.换上vscode一样的编辑器配色
要说默认的liteide象玩具,它的编辑器配色得负上大部分的责任:配色真的太老土了,就象那个不入流的devc++风格。好吧,其实它可以配置得象摩登的vscode一样,不过给它的编辑器配色是真辛苦,原因是它不能在gui在修改,要打开配置的xml文件,改一个看一个效果,然后再改下一个...这个文件还不好早,这里我选择大家,在它的安装目录liteide\share\liteide\liteeditor\color中,每个文件对应一个配色方案。可以复制后修改一个自己喜欢的。我用的内容给大家介绍一下:
?xmlversion=1.0encoding=UTF-8?
style-schemeversion=1.0name=Vim(dark)
!--
Basedonthedefaultvimthemeforadarkbackground,Linuxconsolecolors.
--
stylename=Textforeground=#bbbbbbbackground=#/
stylename=Extraforeground=#5a5a5abackground=#/
stylename=Selectionbackground=#/
stylename=CurrentLinebackground=#/
stylename=IndentLineforeground=#/
stylename=VisualWhitespaceforeground=#c0c0c0/
stylename=Keywordforeground=#CE/
stylename=DataTypeforeground=#55ff55/
stylename=Decimalforeground=#/
stylename=BaseNforeground=#ff55ff/
stylename=Floatforeground=#ff55ff/
stylename=Charforeground=#ff/
stylename=Stringforeground=#55ff55/
stylename=Commentforeground=#fcf/
stylename=Alertforeground=#ff/
stylename=Errorforeground=#ff/
stylename=Functionforeground=#ffffcc/
stylename=RegionMarkerforeground=#bbbbbb/
stylename=Symbolforeground=#bbbbbb/
stylename=BuiltinFuncforeground=#CE/
stylename=Predeclaredforeground=#CE/
stylename=FuncDeclforeground=#bbbbbb/
stylename=Placeholderforeground=#55ff55/
stylename=ToDoforeground=#ffbold=true/
/style-scheme
配置后的编辑器效果如图:
类似vscode的编辑器配色还是很棒的,对不对。
3.调试技巧
liteide的调试功能确实和vscode没法比,不过也还是可以改进得比默认配置好的。首先要安装一个高版本的devc++,原因是liteide需要使用gcc要将go编译成c语言后才能再进行调试。不过我用的不是标准版本devc++而是wxDev-C++版本是7.4.2.,版本应该还是比较重要的,我这个版本可以完美跨平台编译出linux的二进制文件(CentOS6/7)。不过这样配置后仍然有一个严重的bug,在单步调试时很容易崩溃。尝试了很久以后,我发现了一下让liteide调试稳定的方法,那就是切换调试方式为delve模式。切换的方法很简单:在菜单调试-debuger/delve中勾选上就可以了,如图:
切换调试的方法这种方式下调试非常的稳定,不过也有一个缺点:就是调试时自动显示变量值的功能会失效...不过幸好可以输入变量名后查看。另外很多时候,您的go语言环境下要手工安装一下Delve,方法是使用标准的goget命令在Windows上构建和安装Delve:
gogetgithub.