Comparison of IDE choices for Haxe programmers
# Comparison of IDE choices for Haxe programmers

Haxe is a programming language. It is free and open-source software. Multiple development environments support Haxe.

## Integrated development environments (IDEs)

### Availability

| IDE | Windows | Linux | macOS | Other platforms | Free | Open source | Actively developed (last release) | Developer | Developed in |
| - | - | - | - | - | - | - | - | - | - |
| VS Code | Yes | Yes | Yes | | Free | MIT License | 2.25.0 20 Sep 2022 | vshaxe team, open source community | TypeScript, Haxe (for Haxe extensions) |
| IntelliJ IDEA | Yes | Yes | Yes | FreeBSD, OpenBSD, Solaris | Free: Community Edition Paid: Ultimate Edition Summary of differences Categorized difference details Individuals: New $199, upgrade $99 Companies: New from $499, upgrade from $299 Price details | Haxe plug-in is open sourced IDEA Community Edition is Apache License 2, Ultimate Edition is proprietary | 1.3.1 9 Sep 2020 | IntelliJ IDEA: JetBrains Haxe plug-in: Initially, Fedor Korotkov for JetBrains; recently, Bishton Software Solutions and Open Source community | Java |
| Sublime Text | Yes | Yes | Yes | | $80 | Haxe bundle is | 3.0? 26 May 2021 | | C++, Python |
| FlashDevelop | Yes | (use CrossOver or Wine) | (use CrossOver or Wine) | | Free | MIT License | 5.33 20 February 2018 | Mika Palmu, Philippe Elsass, Open source community | C# |
| Powerflasher FDT | Yes | Yes | Yes | Eclipse plug-in | Free: FDT Free (limited); Paid: FDT Max Quick summary of differences Unexpiring: $667 (incl. updates for 12 months), $845 (incl. updates for 24 months) Expiring: $420/year, $600/2-years, $55/month etc. Price details | Proprietary | Milestone 10 15 September 2017 | | Java |
| Haxe IDE (HIDE) | Yes | Yes | Yes | | Free | MIT License | | Boyan, Open source community | Haxe, JavaScript |

### Supported Haxe versions, compiler completion, language server

| IDE | Haxe 3 | Haxe 4 | compiler completion protocol | language server |
| - | - | - | - | - |
| VS Code | Full | Full | JSON-RPC | Yes |
| IntelliJ IDEA | Full | Partial | Legacy | |
| Sublime Text | Full | | Legacy | |
| FlashDevelop | Full | | Legacy | |
| Powerflasher FDT | | | | |
| Haxe IDE (HIDE) | | | | |

### 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 | Code formatting |
| - | - | - | - | - | - | - | - | - | - | - | - |
| VS Code | Yes | Haxe compilation server | Yes | Yes | Yes | Haxe compilation server | Haxe Checkstyle extension | Yes | Haxe compilation server | Yes | Haxe formatter (built-in) |
| IntelliJ IDEA | internal parser | internal parser | Yes | Yes | Yes | internal + Haxe compiler | Yes | internal | Yes | Yes | internal |
| Sublime Text | Haxe compile server | Yes | Yes | Yes | Yes | Haxe compile server | | Haxe compile server | Haxe compile server | Haxe compile server | |
| FlashDevelop | Yes | Yes | Yes | Yes | Yes | IntelliSense + Haxe compiler | Yes | Yes | Yes | Yes | |
| 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, multilingual |
| - | - | - | - | - | - | - |
| VS Code | Yes | Yes | Yes | Yes | | Yes |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes |
| Sublime Text | Yes | | Yes | | | |
| FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes |
| Powerflasher FDT | Yes | Yes | | Yes | | |
| Haxe IDE (HIDE) | | | | | | |

### Code generation

| IDE | New data types | New fields | New properties | Getters, setters | Implement interfaces | Override methods |
| - | - | - | - | - | - | - |
| VS Code | | | | | | |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes |
| Sublime Text | Yes | Yes | | | Yes | |
| FlashDevelop | Yes | Yes | Yes | 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 |
| - | - | - | - | - | - | - | - | - | - |
| VS Code | only local variables | | | | | | | | |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes | push-down is inconsistent, not formatting correctly | Yes |
| Sublime Text | Yes | Yes | Yes | | | | Yes | | |
| FlashDevelop | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Powerflasher FDT | Yes | Yes | Yes | NOT in FDT Free | NOT in FDT Free | NOT in FDT Free | NOT in FDT Free | NOT in FDT Free | 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 | Haxe dependencies |
| - | - | - | - | - | - | - | - | - |
| VS Code | Yes | | Yes | | | | | Yes |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Sublime Text | Yes | No | No | No | No | No | No | |
| FlashDevelop | Yes | Yes | Yes | Yes | 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 |
| - | - | - | - | - | - | - | - | - | - | - |
| VS Code | vshaxe init project command | | | Yes | Yes | Yes | Yes | Yes | Yes | |
| IntelliJ IDEA | Yes | hxcpp, Flash–AIR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | sophisticated |
| Sublime Text | Yes | No | Yes | No | | | | | | No |
| FlashDevelop | Yes | Yes | | Yes | | Yes | Yes | Yes | Yes | auto-download SDK |
| 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 | Lix integration |
| - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| VS Code | Yes | Yes | Yes | Yes | Yes | Yes | Chrome, Firefox, Edge | not Haxe code | Yes | No | Haxe Test Explorer extension | Haxe Test Explorer extension | Lix extension |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | not Haxe code | use browser | not Haxe code | Yes | No | No | No | No |
| Sublime Text | Yes | Yes | Yes | Yes | No | No | No | No | | No | No | No | |
| FlashDevelop | Yes | Yes | Yes | Yes | Yes | not Haxe code | use browser | No | Yes | for Flash only | for Flash only | No | |
| Powerflasher FDT | Yes | Yes | Yes | Yes | Yes | not Haxe code | | No | | No | No | No | |
| Haxe IDE (HIDE) | | | | | | | | | | | | | |

### Multilingual IDE

| IDE | C++ | JS–HTML5 | Android | iOS | AS3–Flash | Java | PHP | Python | C# | TypeScript |
| - | - | - | - | - | - | - | - | - | - | - |
| VS Code | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Sublime Text | | | | | | | | | | |
| FlashDevelop | | Yes | | | Yes | | Yes | | | |
| Powerflasher FDT | | | | | Yes | | | | | |
| Haxe IDE (HIDE) | | | | | | | | | | |

### Miscellaneous

| IDE | Code snippets | To-do list | Bookmarks | Configurable hotkeys | Color customization | Track changes (locally) | Zoom |
| - | - | - | - | - | - | - | - |
| VS Code | Yes | Yes | Yes | Yes | Yes | | Yes |
| IntelliJ IDEA | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Sublime Text | Yes | | | Yes | Yes | | No |
| FlashDevelop | Yes | Yes | Yes | Yes | Yes | | Yes |
| 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 plug-in (Vaxe)
* Atom with Haxe plug-in
* EditPlus
* UltraEdit
* Notepad++ (with Haxe syntax file)
* Textmate
* VS Code (with Haxe extension)
* Kate (text editor), KWrite
