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 Edition
PAID: Ultimate Edition 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.11.1
4 August 2017 |
IntelliJ IDEA: JetBrains[7]
Haxe plugin[8]: Initially, Fedor Korotkov[9] for JetBrains; recently, Bishton Software Solutions[10], Boyan[11], and Open source community [12] |
Java |
FlashDevelop | Yes | (use CrossOver) | (use CrossOver) | Free | MIT License | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|5.2
19 Sep 2016 |
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[13] Unexpiring: $667 (incl. updates for 12 months), $845 (incl. updates for 24 months) Expiring: $420/year, $600/2-years, $55/month etc. Price details[14] |
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 | 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 | Yes | Yes | 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 | Yes | 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
Multiple 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
- ↑ Haxe Foundation's official github repository for Haxe support plugin for IDEA
- ↑ IDEA product page
- ↑ Project Home Page
- ↑ Fedor Korotkov's github repository
- ↑ Maintainer's Company Page
- ↑ as3Boyan's github repository
- ↑ Haxe plug-in contributor's list
- ↑ Quick summary comparison of FDT Editions
- ↑ FDT Pricing