Source code editors for Erlang

Main article: Erlang (programming language)

Erlang is an open source programming language. Multiple development environments (including IDEs and source code editors with plug-ins adding IDE features) have support for Erlang.[1]

## Integrated Development Environments (IDEs)

[edit]

Main article: Comparison of integrated development environments

### Syntax, parsing, code-assist

[edit]

IDE | Syntax coloring | Live parsing, error checking  | Code indentation  | Code reformatting  | Code outline  | Code folding | Code completion | Static code analysis (Dialyzer)

|
|
|
|
|
|
|
|

GNU Emacs | Yes  | EDTS plug-in[2] | Yes  | No  |  |  | EDTS plug-in[2] | EDTS plug-in[2]
Vim | Yes  | vim-erlang-compiler plug-in[3] | Yes  | No  | Tag List plug-in[4] | Yes  | vim-erlang-omnicomplete plug-in[5] | ALE plug-in[6]
Eclipse | erlide plug-in[7] | erlide plug-in[7] | erlide plug-in[7] | No  | erlide plug-in[7] | erlide plug-in[7] | erlide plug-in[7] | erlide plug-in[7]
IntelliJ IDEA | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8]
Sublime Text version 2  | Yes  | No  | Non-standard  | No  |  | Yes  | No  | No
Sublime Text version 3  | Yes  | No  | Non-standard  | No  |  | Yes  | Erl-AutoCompletion plug-in[9] | No
Atom | atom-language-erlang plug-in[10] | No  | Non-standard  | No  |  | atom-language-erlang plug-in[10] | No  | No
Visual Studio Code | vscode_erlang plug-in[11] | vscode_erlang plug-in[11] | Non-standard  | No  |  | vscode_erlang plug-in[11] | No  | No

### Goto, searching

[edit]

IDE | Go to declaration  | Show definition/information  | Find usages/references

|
|
|

GNU Emacs | EDTS plug-in[2] | EDTS plug-in[2] | EDTS plug-in[2]
Vim | vim-erlang-tags plug-in[12] | No  | No
Eclipse | erlide plug-in[7] | erlide plug-in[7] | erlide plug-in[7]
IntelliJ IDEA | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8]
Sublime Text version 2  |  | No  | No
Sublime Text version 3  | Erl-AutoCompletion[9] | No  | No
Atom |  | No  | No
Visual Studio Code |  | No  | No

### Code generation

[edit]

IDE | Code snippets  | Module skeletons

|
|

GNU Emacs | Yes  | Yes
Vim | vim-snippets plug-in  | vim-erlang-skeletons plug-in
Eclipse | No  | erlide plug-in[7]
IntelliJ IDEA | intellij-erlang plug-in[8] | intellij-erlang plug-in[8]
Sublime Text version 2  | No  | No
Sublime Text version 3  | No  | No
Atom | atom-language-erlang plug-in[10] | No
Visual Studio Code | erlang-vscode plug-in[13] | No

### Build, debug, run

[edit]

IDE | Run build  | Run EUnit tests  | Run Common Test tests  | Debugger  | Hot code loading

|
|
|
|
|

GNU Emacs | No  | EDTS plug-in[2] | No  | Distel plug-in[14] | EDTS plug-in[2]
Vim |  |  |  | No  | vim-erlang-compiler plug-in[3]
Eclipse | erlide plug-in[7] | erlide plug-in[7] | No  | erlide plug-in[7] | erlide plug-in[7]
IntelliJ IDEA | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | intellij-erlang plug-in[8] | No
Sublime Text version 2  | No  | No  | No  | No  | No
Sublime Text version 3  | No  | No  | No  | No  | No
Atom | No  | No  | No  | atom-language-erlang plug-in[10] | No
Visual Studio Code | No  | vscode_erlang plug-in[11] | No  | vscode_erlang plug-in[11] | No

## References

[edit]

1. ^ erlang.org: Erlang tools
2. ^ a b c d e f g h EDTS plug-in for GNU Emacs
3. ^ a b vim-erlang-compiler plug-in for Vim
4. ^ Tag List plug-in for Vim
5. ^ vim-erlang-omnicomplete plug-in for Vim
6. ^ ALE plugin-in for Vim
7. ^ a b c d e f g h i j k l m n o erlide plug-in for Eclipse
8. ^ a b c d e f g h i j k l m n o p q intellij-erlang plug-in for IntelliJ
9. ^ a b Erl-AutoCompletion plug-in for Sublime Text 3
10. ^ a b c d atom-language-erlang plug-in for Atom
11. ^ a b c d e vscode_erlang plug-in for Visual Studio code
12. ^ vim-erlang-tags plug-in for Vim
13. ^ erlang-vscode plug-in for Visual Studio Code
14. ^ Distel plug-in for GNU Emacs