Comparison of IDE choices for Haxe programmers
Haxe is an open source programming language. Multiple development environments have support for Haxe.[1]
Integrated Development Environments (IDEs)
Availability
IDE | Windows | Linux | Mac OS X | Other platforms | Free? | Open source? | Actively developed (last release?) | Developer | Developed in |
---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | FreeBSD, OpenBSD, Solaris | FREE: Community ed
PAID: Ultimate ed Quick summary of differences[2] Categorized difference details[3] Individuals: New $199, Upgrade $99 Companies: New *from* $499, Upgrade *from* $299 Price details[4] |
Haxe plugin[5] is open sourced [6]
IDEA is ASLv2 for Community Ed, proprietary (for Ultimate Ed), |
style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|0.9.10
March 29th, 2016 |
IntelliJ IDEA: JetBrains
Haxe plugin: initially, Fedor Korotkov ; recently, TiVo,[7] Boyan , and Open source community |
Java |
FlashDevelop | Yes | (use CrossOver) | (use CrossOver) | Free | MIT License | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|4.7.2
13 March 2015 |
Mika Palmu, Philippe Elsass, Open source community | C# | |
Sublime Text | Yes | Yes | Yes | $70 | Haxe bundle is | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|3.0 (beta)
26 March 2015 |
C++, Python | ||
Powerflasher FDT | Yes | Yes | Yes | Eclipse plugin | FREE: FDT Free (limited); PAID: FDT Max
Quick summary of differences[8] Unexpiring: $667 (incl. updates for 12 months), $845 (incl. updates for 24 months) Expiring: $420/year, $600/2-years, $55/month etc. Price details[9] |
proprietary | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|Milestone 9
13 April 2015 |
Java | |
Haxe IDE (HIDE) | Yes | Yes | Yes | Free | MIT License | Boyan, Open source community | Haxe, JavaScript |
Syntax, parsing, code-assist
IDE | Syntax coloring | Live parsing, error checking | Error navigation | Code outline | Code folding | Code completion | Static code analysis | Code hints | Auto imports | Organize imports |
---|---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | internal parser | internal parser | Yes | Yes | Yes | internal + Haxe compiler | Yes | internal | Yes | Yes |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | IntelliSense + Haxe compiler | Yes | Yes | Yes | Yes |
Sublime Text | Haxe compile server | Yes | Yes | Yes | Yes | Haxe compile server | Haxe compile server | Haxe compile server | Haxe compile server | |
Powerflasher FDT | Yes | Yes | Yes | Yes | Yes | Yes | ||||
Haxe IDE (HIDE) | Yes | Yes | Yes | Yes | Yes |
Goto, Searching
IDE | Goto declaration | Goto implementations | Goto super (haxelib) | Find usages/references | Search scope (app, project) | Search in comments/multi-lingual |
---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes |
Sublime Text | Yes | Yes | ||||
Powerflasher FDT | Yes | Yes | Yes | |||
Haxe IDE (HIDE) |
Code Generation
IDE | New Types | New fields | New properties | Getters, setters | Implement interfaces | Override methods |
---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes |
Sublime Text | Yes | Yes | Yes | |||
Powerflasher FDT | ||||||
Haxe IDE (HIDE) |
Refactoring
IDE | Rename variable | Rename class | Rename method | Rename file | Move file | Move package | Extract local variables | Push-down/Pull-up variables | Push-down/Pull-up methods |
---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes | push-down is inconsistent, not formatting correctly | Yes |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
Sublime Text | Yes | Yes | Yes | Yes | |||||
Powerflasher FDT | Yes | Yes | Yes | NOT in FDT Free | |||||
Haxe IDE (HIDE) |
Hierarchy views
IDE | Project explorer | Package explorer | File/code outline | Type hierarchy | Method hierarchy | Call hierarchy | Generate class diagram |
---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FlashDevelop | Yes | Yes | No | No | No | ||
Sublime Text | No | No | No | No | No | No | No |
Powerflasher FDT | Yes | Yes | No | No | No | ||
Haxe IDE (HIDE) | No | No | No |
Projects
IDE | Project wizard | Project templates | Multi-build projects | Project explorer | Application level options | Project level options | Git integration | Perforce integration | Other VCS integration | Multiple SDKs, tool management |
---|---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | sophisticated |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes | Yes | auto-download SDK | ||
Sublime Text | Yes | No | Yes | No | No | |||||
Powerflasher FDT | Yes | No | ||||||||
Haxe IDE (HIDE) | No |
Build, debug, run
IDE | HXML builds | Build output display | Error navigation (jump to source) | OpenFL, lime integration | hxcpp debugger | Flash debugger | JS/html5 debugger | Java debugger | Debug/run configurations (short cuts) | Unit test code generation | Unit test running | Unit tests report navigation |
---|---|---|---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | not Haxe code | use browser | not Haxe code | Yes | No | No | No |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | not Haxe code | use browser | No | Yes | for Flash only | for Flash only | No |
Sublime Text | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | |
Powerflasher FDT | Yes | Yes | Yes | Yes | Yes | not Haxe code | No | No | No | No | ||
Haxe IDE (HIDE) |
Multi-lingual IDE
IDE | C++ | JS/HTML5 | Android | iOS | AS3/Flash | Java | PHP | Python | C# |
---|---|---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FlashDevelop | Yes | ||||||||
Sublime Text | |||||||||
Powerflasher FDT | Yes | ||||||||
Haxe IDE (HIDE) |
Miscellaneous
IDE | Code snippets | To-do list | Bookmarks | Configurable Hotkeys | Color customization | Track changes (locally) | Zoom |
---|---|---|---|---|---|---|---|
IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes | |
Sublime Text | Yes | Yes | Yes | No | |||
Powerflasher FDT | Yes | Yes | Yes | Yes | Yes | Yes | |
Haxe IDE (HIDE) |
Text Editors
Mutliple text editors, with the help of additional syntax files and some language semantics configuration, support Haxe syntax highlighting and semantics.
- GNU Emacs/XEmacs (in Haxe mode)
- Gedit
- vim with Haxe plugin (Vaxe )
- Atom with Haxe plugin
- EditPlus
- UltraEdit
- Notepad++ (with Haxe syntax file)
- Textmate
References
- ↑ Haxe.org: Editors and IDEs
- ↑ Quick summary comparison of IntelliJ IDEA Editions
- ↑ Categorized comparison of IntelliJ IDEA editions
- ↑ IntelliJ IDEA: Licensing & Upgrade
- ↑ Haxe support plugin for IDEA
- ↑ JetBrains GitHub repo for Haxe support plugin for IDEA
- ↑ TiVo GitHub repo for Haxe support plugin for IDEA
- ↑ Quick summary comparison of FDT Editions
- ↑ FDT Pricing