Comparison of IDE choices for Haxe programmers

Last updated

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

Contents

Integrated development environments (IDEs)

Availability

IDE Windows Linux macOS Other platforms Free Open source Actively developed (last release)DeveloperDeveloped in
VS Code YesYesYesFree MIT License 2.25.0

20 Sep 2022

vshaxe team, open source community TypeScript, Haxe (for Haxe extensions)
IntelliJ IDEA YesYesYes FreeBSD, OpenBSD, Solaris Free: Community Edition

Paid: Ultimate Edition

Summary of differences [2] Categorized difference details [3] Individuals: New $199, upgrade $99 Companies: New from $499, upgrade from $299 Price details [4]

Haxe plug-in [5] is open sourced [6]

IDEA Community Edition is Apache License 2, Ultimate Edition is proprietary

1.3.1

9 Sep 2020

IntelliJ IDEA: JetBrains [7]

Haxe plug-in: [8] Initially, Fedor Korotkov [9] for JetBrains; recently, Bishton Software Solutions [10] and Open Source community [11]

Java
Sublime Text YesYesYes$80 [12] Haxe bundle is3.0?

26 May 2021

C++, Python
FlashDevelopYes(use CrossOver or Wine)(use CrossOver or Wine)Free MIT License 5.33

20 February 2018

Mika Palmu, Philippe Elsass, Open source communityC#
Powerflasher FDT YesYesYes Eclipse plug-in 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 Milestone 10

15 September 2017

Java
Haxe IDE (HIDE)YesYesYesFree MIT License Boyan, Open source community Haxe, JavaScript

Supported Haxe versions, compiler completion, language server

IDE Haxe 3Haxe 4compiler completion protocollanguage server
VS Code FullFullJSON-RPCYes
IntelliJ IDEA FullPartialLegacy
Sublime Text FullLegacy
FlashDevelopFullLegacy
Powerflasher FDT
Haxe IDE (HIDE)

Syntax, parsing, code-assist

IDE Syntax coloring Live parsing, error checkingError navigationCode outline Code folding Code completion Static code analysisCode hintsAuto importsOrganize importsCode formatting
VS Code YesHaxe compilation serverYesYesYesHaxe compilation serverHaxe Checkstyle extensionYesHaxe compilation serverYesHaxe formatter (built-in)
IntelliJ IDEA internal parserinternal parserYesYesYesinternal + Haxe compilerYesinternalYesYesinternal
Sublime Text Haxe compile serverYesYesYesYesHaxe compile serverHaxe compile serverHaxe compile serverHaxe compile server
FlashDevelopYesYesYesYesYesIntelliSense + Haxe compilerYesYesYesYes
Powerflasher FDT YesYesYesYesYesYes
Haxe IDE (HIDE)YesYesYesYesYes

Goto, searching

IDE Goto declarationGoto implementationsGoto super (haxelib)Find usages, referencesSearch scope (app, project)Search in comments, multilingual
VS Code YesYesYesYesYes
IntelliJ IDEA YesYesYesYesYesYes
Sublime Text YesYes
FlashDevelopYesYesYesYesYesYes
Powerflasher FDT YesYesYes
Haxe IDE (HIDE)

Code generation

IDE New data types New fieldsNew propertiesGetters, settersImplement interfacesOverride methods
VS Code
IntelliJ IDEA YesYesYesYesYesYes
Sublime Text YesYesYes
FlashDevelopYesYesYesYesYesYes
Powerflasher FDT
Haxe IDE (HIDE)

Refactoring

IDE Rename variableRename classRename methodRename fileMove fileMove packageExtract local variablesPush-down, pull-up variablesPush-down, pull-up methods
VS Code only local variables
IntelliJ IDEA YesYesYesYesYesYesYespush-down is inconsistent, not formatting correctlyYes
Sublime Text YesYesYesYes
FlashDevelopYesYesYesYesYesYesYesYes
Powerflasher FDT YesYesYesNOT in FDT Free
Haxe IDE (HIDE)

Hierarchy views

IDE Project explorerPackage explorerFile, code outlineType hierarchyMethod hierarchyCall hierarchyGenerate class diagramHaxe dependencies
VS Code YesYesYes
IntelliJ IDEA YesYesYesYesYesYesYes
Sublime Text YesNoNoNoNoNoNo
FlashDevelopYesYesYesYesNoNo
Powerflasher FDT YesYesNoNoNo
Haxe IDE (HIDE)NoNoNo

Projects

IDE Project wizardProject templatesMulti-build projectsProject explorerApplication level optionsProject level optionsGit integrationPerforce integrationOther VCS integrationMultiple SDKs, tool management
VS Code vshaxe init project commandYesYesYesYesYesYes
IntelliJ IDEA Yeshxcpp, FlashAIR YesYesYesYesYesYesYessophisticated
Sublime Text YesNoYesNoNo
FlashDevelopYesYesYesYesYesYesYesauto-download SDK
Powerflasher FDT YesNo
Haxe IDE (HIDE)No

Build, debug, run

IDE HXML buildsBuild output displayError navigation (jump to source)OpenFL, lime integrationhxcpp debugger Flash debugger JSHTML5 debugger Java debugger Debug, run configurations (short cuts)Unit test code generationUnit test runningUnit tests report navigationLix integration
VS Code YesYesYesYesYesYesChrome, Firefox, Edgenot Haxe codeYesNoHaxe Test Explorer extensionHaxe Test Explorer extensionLix extension
IntelliJ IDEA YesYesYesYesYesnot Haxe codeuse browsernot Haxe codeYesNoNoNoNo
Sublime Text YesYesYesYesNoNoNoNoNoNoNo
FlashDevelopYesYesYesYesYesnot Haxe codeuse browserNoYesfor Flash onlyfor Flash onlyNo
Powerflasher FDT YesYesYesYesYesnot Haxe codeNoNoNoNo
Haxe IDE (HIDE)

Multilingual IDE

IDE C++ JSHTML5 Android iOS AS3–Flash Java PHP Python C# TypeScript
VS Code YesYesYesYesYesYesYesYesYesYes
IntelliJ IDEA YesYesYesYesYesYesYesYesYesYes
Sublime Text
FlashDevelopYesYesYes
Powerflasher FDT Yes
Haxe IDE (HIDE)

Miscellaneous

IDE Code snippetsTo-do listBookmarksConfigurable hotkeysColor customizationTrack changes (locally)Zoom
VS Code YesYesYesYesYesYes
IntelliJ IDEA YesYesYesYesYesYesYes
Sublime Text YesYesYesNo
FlashDevelopYesYesYesYesYesYes
Powerflasher FDT YesYesYesYesYesYes
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.

  1. GNU Emacs, XEmacs (in Haxe mode)
  2. Gedit
  3. vim with Haxe plug-in (Vaxe)
  4. Atom with Haxe plug-in
  5. EditPlus
  6. UltraEdit
  7. Notepad++ (with Haxe syntax file)
  8. Textmate
  9. VS Code (with Haxe extension)
  10. Kate (text editor), KWrite

Related Research Articles

<span class="mw-page-title-main">Plug-in (computing)</span> Software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">Kate (text editor)</span> Text editor

The KDE Advanced Text Editor, or Kate, is a source code editor developed by the KDE free software community. It has been a part of KDE Software Compilation since version 2.2, which was first released in 2001. Intended for software developers, it features syntax highlighting, code folding, customizable layouts, multiple cursors and selections, regular expression support, and extensibility via plugins. The text editor's mascot is Kate the Cyber Woodpecker.

jEdit Cross platform text editor

jEdit is a free software text editor available under GPL-2.0-or-later. It is written in Java and runs on any operating system with Java support, including BSD, Linux, macOS and Windows.

<span class="mw-page-title-main">Far Manager</span> File and archive manager for Microsoft Windows

Far Manager is an orthodox file manager for Microsoft Windows and is a clone of Norton Commander. Far Manager uses the Win32 console and has a keyboard-oriented user interface.

<span class="mw-page-title-main">IntelliJ IDEA</span> Integrated development environment

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

<span class="mw-page-title-main">Markdown</span> Plain text markup language

Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is intended to be easy to read in its source code form. Markdown is widely used for blogging and instant messaging, and also used elsewhere in online forums, collaborative software, documentation pages, and readme files.

Haxe is a high-level cross-platform programming language and compiler that can produce applications and source code for many different computing platforms from one code-base. It is free and open-source software, released under the MIT License. The compiler, written in OCaml, is released under the GNU General Public License (GPL) version 2.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript programs are syntactically valid TypeScript, but they can fail to type-check for safety reasons.

JSDoc is a markup language used to annotate JavaScript source code files. Using comments containing JSDoc, programmers can add documentation describing the application programming interface of the code they're creating. This is then processed, by various tools, to produce documentation in accessible formats like HTML and Rich Text Format. The JSDoc specification is released under CC BY-SA 3.0, while its companion documentation generator and parser library is free software under the Apache License 2.0.

Twig is a template engine for the PHP programming language. Its syntax originates from Jinja and Django templates. It's an open source product licensed under a BSD License and maintained by Fabien Potencier. The initial version was created by Armin Ronacher. Symfony PHP framework comes with a bundled support for Twig as its default template engine since version 2.

<span class="mw-page-title-main">Sublime Text</span> Text editor

Sublime Text is a shareware text and source code editor available for Windows, macOS, and Linux. It natively supports many programming languages and markup languages. Users can customize it with themes and expand its functionality with plugins, typically community-built and maintained under free-software licenses. To facilitate plugins, Sublime Text features a Python API. The editor utilizes minimal interface and contains features for programmers including configurable syntax highlighting, code folding, search-and-replace supporting regular-expressions, terminal output window, and more. It is proprietary software, but a free evaluation version is available.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">PlantUML</span> Open-source software tool

PlantUML is an open-source tool allowing users to create diagrams from a plain text language. Besides various UML diagrams, PlantUML has support for various other software development related formats, as well as visualisation of JSON and YAML files.

<span class="mw-page-title-main">Powerflasher FDT</span>

Powerflasher FDT is an integrated development environment (IDE) built on the Eclipse platform for development of Adobe Flash-based content.

<span class="mw-page-title-main">Pluma (text editor)</span>

Pluma is a fork of gedit 2 and the default text editor of the MATE desktop environment used in Linux distributions. It extends the basic functionality with other features and plugins.

References

  1. Haxe.org: Editors and IDEs
  2. Quick summary comparison of IntelliJ IDEA Editions
  3. Categorized comparison of IntelliJ IDEA editions
  4. IntelliJ IDEA: Licensing & upgrade
  5. Haxe support plugin for IDEA
  6. Haxe Foundation's official GitHub repository for Haxe support plugin for IDEA
  7. IDEA product page
  8. IntelliJ-Haxe Project Home Page
  9. Fedor Korotkov's GitHub repository
  10. IntelliJ-Haxe Maintainer's Company Page
  11. IntelliJ-Haxe plug-in contributor's list
  12. Buy - Sublime Text
  13. Quick summary comparison of FDT Editions
  14. "FDT Pricing". Archived from the original on 2015-03-10. Retrieved 2015-05-05.