什么是适合Erlang编程的好IDE?

82

据我所知,NetBeans和Eclipse都有针对Erlang的插件。目前哪一个更优秀?

除了我提到的IDE,还有其他针对Erlang的IDE吗?与NetBeans和Eclipse相比,它们的表现如何?


1
请参考https://dev59.com/tXNA5IYBdhLWcg3wC5Xh。 - Alan Moore
14个回答

81

IntelliJ IDEA 的 Erlang 插件 提供了以下 Erlang 代码编辑和导航功能:

  • 语法和错误高亮
  • 引用解析
  • 函数、记录、变量、宏和关键字的代码补全
  • 模块、函数、记录、宏和变量的重命名重构
  • 安全删除重构
  • 结构视图和查找用法
  • 代码格式化程序
  • 编译和运行
  • Eunit 测试运行器
  • Dialyzer 集成
  • 片段(Live Templates)
  • 快速修复
  • Rebar 集成
  • 基于 Emacs 的代码格式化动作
  • Erlang shell 控制台
  • 调试器
  • 提取变量和函数重构

该插件是免费且开源的: http://ignatov.github.io/intellij-erlang


44

对于Erlang来说,最好的IDE是Emacs。然而,Erlang自带的模式并不是最好的。Erlware-mode扩展了它,Distel允许您将Emacs本身用作Erlang节点,从而启用一些非常好的功能。请参见这篇博客文章。

作为NetBeans(ErlyBird)和Eclipse(ErlIDE)的插件,我更喜欢Eclipse。NetBeans至少以前需要夜间版本的NetBeans并且对我来说无法正常工作。


14
请注意:"Erlware Emacs Mode已被弃用。所有对Erlware版本的重大更改都已包含在官方分发的最新版本中。" 意思是,Erlware Emacs Mode不再更新,其功能已合并到官方版本的最新发布中。 - Maxim Vladimirsky
是的。所有与erlware相关的项目链接都已失效。 - C. Sederqvist

13

我在eclipse上使用Erlide (http://erlide.org/)。

优点: 语法高亮、自动完成和建议都很好用。 在建议时,如果有可用的文档,它会显示一些文档:在探索模块时非常有用。

错误和警告注释快速且有帮助。

总的来说,用户体验不错,特别是如果你已经习惯了eclipse。

缺点: Erlide也可以运行你的模块,但我觉得shell太笨重,不能使用。我总是保持一个“真实”的erlang shell打开,并从那里编译/测试我的代码。

还有一个Textmate bundle(谷歌),但我还没有尝试过。


Erlide 0.56.0无法与Erlang 25.0兼容,正如“https://dev59.com/onoPtIcB2Jgan1zn1qji”问题所报告的那样。 - Mohan

11

7
如果你使用Vim,我建议你使用Vimerlhttp://github.com/jimenezrick/vimerl):

特点

  • 语法高亮
  • 代码缩进
  • 代码折叠
  • 代码自动完成
  • 支持快速修复的语法检查
  • OTP行为的代码骨架
  • 使用Rebar的配置
  • 与Pathogen兼容 (http://github.com/tpope/vim-pathogen)

请参阅最近的一篇关于整合vim和erlang的博客文章:http://blog.erlware.org/2013/09/09/how-to-use-vim-for-erlang-development/ - Berzemus

6

5
我使用SciTE:http://www.scintilla.org/SciTEDownload.html,因为我懒得去学习emacs的键盘组合,而且我也不想等待eclipse的加载时间。 SciTE自带Erlang配置,但需要在配置文件中取消注释。

忘了提到它是跨平台的(这对我来说非常重要)。 - Roger
Scite支持Windows和Linux。 - Kijewski

5

我使用了Geany和Vim来进行开发,它们已经足够好用了。Geany还可以编译并运行代码。


3

我使用notepad++来编写Erlang代码


3
另一个选择是使用带有Erlang扩展的Visual Studio Code。

1
同意,现在的2020年,我推荐使用带有Erlang插件的VSCode来开发Erlang。 - jim ying

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接