当我和我的团队决定技术转型到Erlang的时候,一连串的问题就冒出来了:就是Erlang用什么IDE啊?Erlang怎么编译啊?Erlang编写的程序怎么运行啊?
Erlang编写的程序怎么调试啊?其实这些问题具有普适性,在学习一门新语言的时候,我们往往首先提出的就是这几个问题.我个人认为程序员的基本技能
包括:代码编写,代码重构,调试,性能优化;而这四项基本技能都或多或少的需要对应工具的支持.工欲善其事必先利其器,工具,如江湖人的刀剑,必须首先解决,
我们开始:
安装Erlang
至少先把Erlang安装好吧,下载地址:http://www.erlang.org/download.html
Windows下使用: R14B03 Windows Binary File (82.6 MB)
Centos环境中安装编译Erlang后面会有专门的文章介绍.
Centos环境中安装编译Erlang后面会有专门的文章介绍.
Erlang IDE
- Visual Studio可以吗?
使用了多年的Visual Studio,惯性依赖,我第一反应就是vs有可以支持erlang的插件吗?答案是:只有一个Erlang文件语法高亮的插件ErlangHighlighter
这个可以通过tools -> Extension Manager 搜索"erlang"得到;恰如其名,这个插件仅仅是做到语法高亮,而且由于erlang语法结束符有好多种,代码折叠
功能经常失效;新建文件里面没有erl代码模板,这个没有关系,在vs模板中复制一份text的模板修改一下文件后缀就可以.
即使是这样一种窘境,我还曾抱有幻想继续使用vs,甚至想为vs写插件来完成编译和运行功能,但是项目时间紧张,根本不允许这样做; - Eclipse可以吗?
那么以插件众多闻名的Eclipse可以么?是的有一个Erlide插件
安装方法:打开Eclipse,menu -> help ->software updates..., available software -> add site...,Erlide的url[http://erlide.sourceforge.net/update]
,点开+选择你要安装的版本,然后点击右边的[install...]按钮,重新启动。
配置方法: Menu -> [Window]->[preference] 找到 [Erlang]->[Installed runtimes],点击add选择erlang路径.
优点:Eclipse众多优点都有,保存文件即编译
缺点:无代码自动完成,偶尔提示一下也特别慢,最关键的一点:不支持中文,就因为这个无论它多么好直接被否定掉了
穿越到这里:[Erlang 0026] 目前最优的Erlang IDE - erlIDE
2011-12-28 11:04:02重要变更:目前最新的ErlIDE已经完美支持中文,代码自动完成也做的相当漂亮
- Netbeans可以吗?
可以,但是只是特定版本可以,当时我们团队的一个小伙儿从最新的netbeans一个版本一个版本的倒退,看哪一个版本可以使用erlybird插件;终于,在后退到
Netbeans6.5的时候,可以了!可以了!至今团队中的除了我之外全部使用这个6.5版本的netbeans+erlbird进行开发;
优点:语法高亮,转到定义,勉强能用的智能提示,代码格式化,编译运行都是点击按钮,安装一个svn插件团队合作也不是问题
缺点:文件编码容易出问题,新建的文件是ANSI编码,你输入中文之后自动修改成UTF-8编码,编译选项缺少定制,我还是编写了几个批处理文件作为辅助工具
一定要正常关闭netbeans! 非正常关闭可能会导致:①IDE崩溃需要重装,②代码丢失 这些都是团队兄弟们血的教训 - 文本编辑器类
剩下的就是文本编辑器类了,vim emacs notepad++ UltraEdit Studio都可以,大家都想开了:既然没有一个特别完美的,那就选自己喜欢的吧;
我使用的是UE Studio,语法高亮显示,代码自动完成,代码折叠,保留字等等都是自己配出来的,现在我已经用UE Studio写了半年的Erlang代码了,爱不释手;
"所有的排行榜都是偏见",同样所有的文本编辑器选择也都是一种偏见,看你的爱好了,后面提供了我所有配置的下载,: ) !
[猛击这里下载我的UE配置]
P.S: 国外的同行在Stackoverflow也提出了同样的问题:What's a good IDE for Erlang programming?
2013-3-20 17:58:34更新 用Sublim Text 的越来越多吧?
这应该得益于其漂亮的语法高亮,代码自动完成,以及项目视图的良好支持.
Here's a screenshot of SublimErl's Code Completion feature:
Here's a screenshot of SublimErl's Auto-Indenting feature:
Here's a screenshot of SublimErl running an Eunit specific test in file.
如果是在windows环境中开发,少不了使用cmd窗口,你也知道cmd窗口的各种难用,推荐使用替代品:
PowerCmd: A Better Command Prompt Replacement Tool
下一篇:编译Erlang代码