使用IntelliJ IDEA配置Erlang开发环境


Idea工具是目前我使用过的开发Erlang最好用的IDE,但其Erlang插件的官方教程太简陋,我就想自己做一个相对详细的教程。我们来看看如何使用IDEA配置一个开发Erlang的环境:

首先,我们需要安装Erlang的插件,如下图所示,点击Install JetBrains plugin按钮,安装Erlang插件。

使用IntelliJ IDEA配置Erlang开发环境_Erlang

 

安装好插件后,还需要配置一下Rebar,如下图所示:

 

使用IntelliJ IDEA配置Erlang开发环境_Mac_02

然后再选中下图所示的复选框,选择了这两项,我们才能使用Rebar进行编译,并且可以调试

 

使用IntelliJ IDEA配置Erlang开发环境_erlang_03

配置好上述环境后,我们就可以新建Erlang项目了,如下图所示,选择新建Erlang项目,选择项目的SDK,这里我选择的Erlang 18,然后给项目取名字。

使用IntelliJ IDEA配置Erlang开发环境_Erlang_04

使用IntelliJ IDEA配置Erlang开发环境_Erlang_05

使用IntelliJ IDEA配置Erlang开发环境_erlang_06

项目建好后,需要建一个spider.app.src文件(spider是Application的名字)以及一个rebar.config,这样才能使用Rebar进行编译,其具体配置如下图所示:

使用IntelliJ IDEA配置Erlang开发环境_Mac_07

使用IntelliJ IDEA配置Erlang开发环境_Erlang_08

使用IntelliJ IDEA配置Erlang开发环境_Erlang_09

使用IntelliJ IDEA配置Erlang开发环境_Mac_10

配置好使用Rebar进行编译项目的相关文件后,就可以配置编译工具的参数 了,如上图所示,在点击红色区域内的“Edit configurations”进行配置的编辑,再进行如下图所示的操作,添加 “Erlang Rebar”配置项,修改配置的名称、添加编译的命令compile以及选择支持的模块。

 

使用IntelliJ IDEA配置Erlang开发环境_Erlang_11

 

使用IntelliJ IDEA配置Erlang开发环境_Erlang_12

配置好后,就可以编译了,完成后,会在Project中增加如下图所示的目录及相应的文件。

 

使用IntelliJ IDEA配置Erlang开发环境_erlang_13

 

配置好编译设置后,我们需要如下图所示添加并配置Erlang的应用,注意添加应用开始的模块、函数,以及需要配置工作目录,否则不能运行。

 

使用IntelliJ IDEA配置Erlang开发环境_Mac_14

此时我们就可以编译、运行Erlang项目了,也可以进行调试,但是目前我们修改了代码需要手动编译一次,才能生效进行调试运行。可以进行下图所示的设置在启动应用前引用另一个配置进行Rebar的编译,使修改的代码立即生效。

 

使用IntelliJ IDEA配置Erlang开发环境_Mac_15

 

使用IntelliJ IDEA配置Erlang开发环境_Mac_16

我们在编写代码的时候,很多时候是需要帮助的,如查看某个系统函数的参数及用 法,我们只需要将光标移动到函数名中,使用Ctrl+Q就可以查看。但这里一个问题,Erlang插件默认的配置是直接从互联网上进行搜索显示的,就像 VS的在线MSDN一样,如果网络状况不佳,就会导致显示很慢,IDEA表现得很卡。可以通过如下图所示的方法添加本地搜索目录,并把网络搜索路径删除, 这样设置后查阅帮助就会变得很快了。

 

使用IntelliJ IDEA配置Erlang开发环境_Mac_17

通过上面的设置我们现在大功告成,终于可以随心所欲地进行编辑、编译、断点、调试了,如下图所示,我们可以断点,单步执行,查看A、B变量的值,以及查看程序的输出。

 

使用IntelliJ IDEA配置Erlang开发环境_Erlang_18

使用IntelliJ IDEA配置Erlang开发环境_Mac_19

 

​http://ignatov.github.io/intellij-erlang/​

intellij-erlang

Erlang plugin for IntelliJ IDEA

​Key features​

  • Intelligent Editor for Erlang with code completion, syntax and error highlighting and code inspections
  • Code Navigation: project and file structure views, quick jumping between files, modules, functions and usages
  • Tools and frameworks integration: support for Eunit and Rebar
  • VCS Integrations: out-of-the-box support for Subversion, Git and Mercurial
  • Cross-platform: works on Windows, Mac OS X and Linux

​Installation​

  1. ​Download​​ the latest IntelliJ IDEA build and install it
  2. Setup the latest version of Erlang plugin from Configure > Plugins > Browse Repositories... > Erlang
  3. Restart IntelliJ IDEA.
  4. Done! You can import your existing Erlang project or create the new one.

​Donations​

If you would like to make a donation you can use ​​PayPal​​.

​How-tos​

​User Interface​

Very nice ​​guide​​ about IntelliJ user interface.

​Erlang SDK setup​

You need to specify a directory that contains bin directory with erl and erlc executables inside. 
Also that directory should contains releases dir inside. 
Some predefined paths:

  • /usr/lib/erlang (Linux)
  • /opt/local/lib/erlang (Mac Ports on Mac OS X)
  • /usr/local/Cellar/erlang/R*/lib/erlang (Homebrew on Mac OS X)

If something goes wrong you always may reopen the ​​#31​​.

​Rebar integration​

First of all, you need to provide the right path to the ​​Rebar​​ executable (Settings > Erlang External Tools). 

使用IntelliJ IDEA配置Erlang开发环境_Erlang_20

Note for Mac OS X users. Please, check that the PATH for IntelliJ contains rebar executable.
For further information see ​​​Stackoverflow answer​​​ and ​​#189 issue​​.

Note for Windows users. Please checkout ​​how to install rebar​​ for Windows.

After you have set your rebar path up you can create a new Rebar run configuration(Run > Edit run configurations...), 

use a little green button on the top left corner:

使用IntelliJ IDEA配置Erlang开发环境_Erlang_21

Or execute an existing one (Run > Run...

使用IntelliJ IDEA配置Erlang开发环境_Erlang_22

You may create run configuration for every command which Rebar supports, e.g. ​​compile​​​ or ​​clean​​, etc.

使用IntelliJ IDEA配置Erlang开发环境_Erlang_23

Skip dependencies checkbox adds ​​skip_deps=true​​ command for Rebar executable. 

To run eunit tests with rebar you can either create a Rebar Eunit run configuration or use a right-click context menu item 'Run ...' or 'Create ...' having clicked on a module(s), a unit test or a generator function you want to run. 

使用IntelliJ IDEA配置Erlang开发环境_Mac_24

Rebar-based Eunit test runner: 

使用IntelliJ IDEA配置Erlang开发环境_Mac_25

To set rebar as a default build action make sure you have checked Compile project with rebar checkbox:

使用IntelliJ IDEA配置Erlang开发环境_Mac_26

After that your project will be built with 'rebar compile' command when you run Build > Make Project. Compilation result: 

使用IntelliJ IDEA配置Erlang开发环境_Mac_27

​Project structure​

In version 0.5 we've added additonal per-module configuration parameters(see Project Structure > Modules).

There you can setup your modules' include paths and global parse transformations.

使用IntelliJ IDEA配置Erlang开发环境_Mac_28

​Debugger​

Version 0.5 introduces experimental Erlang debugger support.

In order to use debugger you need to have debug_info checkbox under Settings > Compiler > Erlang Compiler checked.

You also need an Erlang Application run configuration which will be used by debugger. Such configuration can be created by right-clicking on entry point function.

使用IntelliJ IDEA配置Erlang开发环境_Mac_29


Then you can use this configuration to debug your program:

使用IntelliJ IDEA配置Erlang开发环境_Erlang_30


The debugger requires Erlang Port Mapper Daemon (epmd) to be running. If it's not up, a warning will be issued. To start the daemon run any Erlang node on your machine, for example with erl -sname foo -s init stop -noshell command.