Haxe Support

Compatible with all products except MPS
88 505
Support for the Haxe programming language.

Download plugin

Recent change notes

This build is compatible with IDEA 14.0

It was built using IDEA build IU-139.1117.1

0.9.10: (community release)

  • Better packages resolving
  • Fix catch parameter declaration (issue #419)
  • Fix inherited type in field initializer (issue #412)
  • Delete single-class file in one operation from Project View (issue #424)
  • Fix interface properties accessor check annotation (issue #411)
  • Error highlighting added for variable redefinition (issue #431)
  • Fix generic sub-type resolving when import just type-module (issue #435)
  • Extensions: using variants and resolving for children and implementations of base class or interface added (issue #433)
  • Fix typedef generic params resolving (issue #304)
  • General "@:enum abstract" support (issues #427, #428, #429)
  • Fix import / using statements class name completion (issue #286)
  • Incorrect “public” modifier when override methods fixed (issue #439)
  • Incorrect field access modifier after action generate set/get methods. Can't use action generate set/get methods for static fields. (TiVo Issue #442)
  • Fix use scope for var declarations (issue #235)
  • Find usages import filtering (issue #426)
  • Completion for word `super`: handle `super` word like `this` word (issue #87)
  • Fix forwarding abstract fields completion and resolving. (issue #447, #108)
  • Navigate to symbols (issue #340)
  • Fix incorrect error annotation in extended class for static fields and methods with same names like in base class. (issue #449)
  • Fix method local variables and arguments completion. (issue #455)
  • Fix

0.9.9: (community release)

  • IDEA v15 compatibility. (IDEA 13 compatiblity removed.)
  • v15 Project Structure and Module settings dialogs work. (TiVo Issue #380)
  • HXML: Fix `Editor/Colors & Fonts/HXML` tab (name & preview)
  • HXML: highlighting for included `.hxml` file
  • Fix unhandled exceptions while parsing numeric constants
  • Fix typedef types not resolved variants for completion list
  • Fix error annotation when implements `extern interface`
  • Fix extending anonymous types. (TiVo Issue #353)
  • Error annotation if type extends itself. (TiVo Issue #377)
  • Fix qualified name resolving for ancillary types declaration (multiple types inside .hx file)
  • Fix resolving variables having names identical to type names except for case. (TiVo Issues #405, #234)
  • Fix incorrect package resolution. (TiVo Issues #95, #176)
  • Fix base fields resolving for extended anonymous types (TiVo Issue #408)
  • Prevent recursion due to extending self for classes and typedefs.
  • Using file with multiple helper classes typedefs (for example `haxe.macro.Tools`) (TiVo Issue #128)
  • Allow short assignment syntax for generics. (TiVo Issue #388)
  • Fixed expected package name to no longer reference the system root. (TiVo Issue #387)
  • Save and restore OpenFL arguments on the Haxe Module settings dialog. (TiVo Issue #74)
  • Fixed repainting issue for OpenFL dialog when selecting compiler types. (TiVo Issue #44)
  • Fixed error parsing for Windows platforms.

0.9.8: (community release)

  • Version 14.1.5 and 14.1.6 compatibility.
  • Fix up some expressions to ignore non-error messages.
  • Fix comment alignment for single-line comments.(Issue #295)

0.9.7: (community release)

  • Fix the watch pane when debugging: typing and completion now work.
  • Load files using canonical names so that sym-linked files use the same buffer as the original file.
  • Use full package name when determining file to open when debugging.
  • Attempt to follow the classpath to determine which file to open when multiple files have the same package names.
  • Use implicit classpath entries during classpath operations. (e.g. haxe/std)
  • Remove "statics of XXX" from the debugger variable window pane. (The Haxe debugger at http://github.com/tivo/hxcpp-debugger has been updated to show statics as part of the object tree for objects in view.
  • Remove error embellishments before displaying errors in the debugger variable pane.

0.9.6: (community release)

  • Fix debugger trying to populate all variables when stopped at a breakpoint.
  • Suppress display of back-end generated intermediate variables when debugging.
  • Fix NPE when editing files outside of a project.

0.9.5: (community release)

  • Add new typing support for type checking and completion. (Thanks to Carlos Ballesteros!) (Issues #288,#291,#308,#317)
  • Support static extensions in completion. (Again, Thanks, Carlos!)
  • Fix debugger getting stuck "collecting data" for some variables (particularly, "this"). (Issue #325)
  • Better compiler error highlighting. (Issue #180 redux.)
  • Fix Cut/Copy/Paste buffer inconsistencies (Issue #196)
  • Add generics support. (First level only, chained sequences remain incomplete.)
  • Allow object literals as return statements. (Issue #278)
  • Fix NPE during annotation, causing annotation to stop. (Issue #316)

0.9.4: (community release)

  • Fix compile error highlighting in the output pane and jumping to source location when an error is clicked upon (Issues #129, #160, #180).
  • Fix debugger execution under IDEA 14 and 14.1.
  • Fix move package
  • Fix MoveFile showing "unimplemented" message. (Issues #222, #88)
  • Fix copy/paste clipboard functionality.
  • Show completion for all static members (Issue #262).
  • All unit tests enabled and passing for IDEA versions 13.1, 14.0, and 14.1.1.
  • Fix rename not updating all usages (Issue #222)
  • Fix parameter info tool tips and code tips.
  • Command line ant builds (of the plugin) for automated testing.
  • Fix parsing 'new' in ternary expressions (Issue #229).
  • Better handling of comments.
  • Fix member visibility scoping issues with extern and private keywords.
  • Stop generating 'public' and 'private' modifiers when generating getter/setters.
  • Stop treating interfaces and extern class declarations identically.
  • Disallow multiple variables being declared in one statement for class fields.
  • Print compiler commands to the message pane along with command output.
  • Fix hang when using the OpenFL compiler for variable and method completion.
  • Use correct completion contributor for OpenFL project configurations.
  • Fix parsing failures for certain cases of "@meta" and "@:pos" (Issue #81).
  • Fix unresolved type error if using full class path without importing the class (Issue #39).
  • Resolve extern enum values via qualified name.
  • Resolve classes within the same package but defined in a different module (Issue #168).
  • Hopefully fix compiler based auto-complete performance problems (Issue #230).
  • Fix Plugin wrongly accepting comma separated fields that the compiler wont (Issue #83).
  • Fix rare ClassCastException when re-opening projects.
  • Fix NotNullExceptions when getting field types for dynamic fields.

0.9.3: (community release)

  • Fix local variable name suggestions to not clash with existing class fields.
  • Fix Introduce Variable refactoring to find all occurrences of the selected expression.
  • No longer block Java (and other) tests from running when Haxe plugin is installed. (Issue #166)
  • Resolve static function imports for import with in keyword. ("import String.fromCharCode in f;") (Issue #191)
  • Give extern fields public visibility: 'function a()' will be treated as 'public function a()' and will appear in completions.
  • Fix (un)comment multiple lines of code feature. (Issue #209)
  • Support 'as' keyword in import statements.
  • Implemented Refactoring: Pull Members Up/Push Members Down
  • Support extern interfaces. (Issue #202)
  • Fix visibility determination for methods. (Better completions)
  • Check for duplicate imports when copy/pasting.
  • Fix resolving classes that appear inside of an import file with a different name than the class itself. Fixes goto declaration as well.
  • Fix colorizing identifiers (variable names) in code.
  • Fix Issue 162: "call(new x(), new x());" parse failure.
  • (Re)Allow "new" for extern and prototype function declarations.
  • Fixed IDEA freeze when XML is edited
  • Implemented Refactoring: Extract Superclass
  • Implemented Refactoring: Extract Interface
  • Implemented Refactoring: Push Members Down
  • Fixed OutOfBoundsException when resolving names.
  • Fix most unit tests.

0.9.2: (community release, IDEA 14 only)

  • Fixed: HaxeReferenceCopyPasteProcessor issue preventing from using copy paste clipboard functionality

0.9: (community release)

  • Release ID change only (community version, TiVo Release 4)

  • Class Hierarchy view panels implemented. (Menu->Navigate->Type Hierarchy, et al)
  • Better handling of import files.
  • Better handling of Haxe language parsing, including many Haxe 3 features.
  • Automatic detection and use of installed haxe libraries (using the 'haxelib' command).
  • Better completion (Ctrl-space) using the Haxe compiler -- OpenFL projects only.
  • Refactorings:
    • Pull up members from class to super-class
    • Pull up members from class to interface
    • Split into declaration and assignment
    • Optimize imports
  • The following sub-releases are included:

    • (community version, TiVo RC5)

      • Refactoring: Pull up members from class to super-class
      • Refactoring: Pull up members from class to interface
      • Launch Haxe/Neko tests (Patch #131)
    • (community version, TiVo RC4)

      • Fixed issue 37 (Parser doesn't recover after new A)
      • Fixed issue 95 (Local and class variable names resolving to similar package names)
      • Fixed issue 132 (incorrect processing of duplicate imports)
      • Fixed issue 134 (incorrect reformat of object and array children)
      • Fixed reference resolution for expressions in parenthesis - otherwise, code assist does not work for those.
      • Fixed: launching test with neko, overriding haxe build parameters for test run configuration, filtering test result output, compilation path of non test build, line number for ErrorFilter; and removed hard-coded path for ErrorFilter
    • (community version, TiVo RC3)

      • Fixed NPE causing the structure view to not populate, resulting from an errant merge.
    • (community version, TiVo RC2)

      • Resolve 'convenience' imports that do not export a class named similarly to the file. (TiVo Issue #55)
      • Update unbalanced preprocessor token highlighting and detection.
      • Improve indentation of comments and preprocessor macros.
      • Update for Grammar-Kit
      • Fixed syntax rules (BNF) for constructors and external functions.
      • Fixed syntax rules (BNF) for code blocks; removed them from being valid syntax everywhere an expression can appear.
      • Fixed syntax rules (BNF) to allow meta tags on typedefs.
    • (community version, TiVo RC1+Fixes)

      • Auto-indent when adding curly brackets now works correctly. Fixes github tivo/intellij-haxe Issue #119. (Thanks, Jérémy!)
      • Fix IDE hang on completion for Haxe compiler completions.
      • Fix auto-adding new import statements above package declaration and/or comments.
      • Fix NPE when manually adding new import statements.
      • Put debugging dialogs on the UI thread.
      • Fix ArrayOutOfBounds exception when initializing haxelib cache.
    • (community version, TiVo RC1)

      • Fix NPE when colorizing.
    • (community version, TiVo WIP)

      • Added timeout to long-running call hierarchy searches.
    • (community version, TiVo WIP)

      • Fixed Haxe command-line debugger integration for OpenFL projects that are targetting C++ native runtime environments.
      • Fixed method hierarchy runtime exceptions, and auto-scrolling to source.
      • Fixed type hierarchy auto-scrolling to source.
      • Enhanced run & debug output to be color-coded for improved readability.
      • Fixed find-usages regression.
    • (community version, TiVo WIP)

      • More load-time optimizations using new 'haxelib list-path' command.
      • Add package and file names to Type hierarchy window. (File names only display if the file name differs from the type name.)
      • Fixed supertypes list in the combo view of the Type hierarchy window.
      • Allow block statements everywhere.
      • Allow array literals to have additional comma [1,]
      • Moving a file from one package to another no longer displays "Unimplemented" and now moves the file, however references are not yet updated. Issue #88 -- still unresolved.
      • Updated unit tests. Issues: #71, #68.
      • Fix formatting for ">=", which is used be to reformatted to "> =". Issue
      • Fix logic for HaxeIfSurrounder.java /testIf test case/
    • (community version, TiVo WIP)

      • Repaired resolving references to classes and variables.
    • (community version, TiVo WIP)

      • Further optimized load time for large projects.
      • Run haxelib->Project/SDK/Module library dependency synchronization in the background.
      • HXML completion: add parameters for compiler argument to presentable text of completion item
      • Completion from Haxe compiler: parse function parameters and return type to generate completion item with parameters and return type
      • Completion from Haxe compiler: format data from compiler replace "<" to "<" and ">" to ">"
      • HaxeReferenceImpl.java getVariants(completion): Handle case when "var d:Array = []; d.|" when d is not resolved
      • Add description to completion recived from Haxe compiler: HaxeMetaTagsCompletionContributor.java HXMLDefineCompletionContributor.java HXMLCompilerArgumentsCompletionContributor.java
      • Preliminary Haxe compiler completion support (OpenFL only)
    • (community version, TiVo WIP)

      • Decreased time to load large projects considerably. Note that project loading is still on the UI thread, so it may appear to lock up for a short period of time. For very large projects, 90 seconds is not out of the ordinary.
      • HXML completion: Provide available libraries list
      • HXML completion: show installed haxelibs(also installed libs removed from available haxelibs list)
      • Fix meta tag parsing issues
      • HaxeMetaTagsCompletionContributor provides completion for meta tags
      • Project Xml(NME, OpenFL project project) completion: show available and installed haxelibs
      • SplitIntoDeclarationAndAssignment intention action
    • (community version, TiVo WIP)

      • Merged with version from the TiVo/master branch.
      • Class Hierarchy partial implementation.
      • SuperTypes work. Sub-types work within the same module.
      • All recent changes from github.com/Jetbrains/intellij-haxe/master
      • Support typedef optional parameters
      • Support optional function types
      • Eat compile-time conditional statements only (prevent eating conditional body as it was before)
      • Fix multiple metas issue on class
      • Highlight compile-time conditional statements if they don't have matching closing statements
      • Remove "from" and "to" from keywords, instead highlight them only if they used in abstract declaration
      • Prevent suggesting imports for using statements
      • Resolve references that have full path to type/field
      • Support function types, anonymous types as abstract type
      • Automatically add and remove dependencies when project gets opened
      • Remove ">=" and ">>=" tokens from lexer, instead parse ('>' '=') to avoid issues(https://github.com/TiVo/intellij-haxe/issues/42)
      • Support "inline" declaration attribute on local functions
      • Suggest to import class on code paste
      • Support macro expressions(including ECheckType)
      • Lots more... TODO: Get a complete list of updates. (TiVo version)

  • openFL path can now be retrieved from an .iml file (community version)

  • "Find usages in project" fixed.
  • Allowed @:final on methods and fields.
  • Re-implemented hxcpp debugger support to work with Haxe v3 built-in debugger

0.8.1: (community version)

  • Remove com.intellij.modules.java from dependencies list to make plugin work in PHPStorm(and other IntelliJ IDEA platform-based IDEs)

0.8: (community version)

  • Migration to new IntelliJ IDEA 13.1 API
  • HXML syntax highlighting
  • HXML completion
  • Parser support for different types of imports
  • Parser support for @:jsRequire and more parser fixes

0.7.2: (community version)

  • New version number
  • basic hxml support
  • @:jsRequire meta support
  • Haxe grammar: @:jsRequire and macro support
  • templates naming fix ("create new class/enum/interface" issue)
  • new/get/set/never keywords, get/set identifiers are valid, jar build


  • Bug fixes for 13.1.1


  • Bug fixes


  • Neko target for OpenFL
  • Bug fixes


  • OpenFL support


  • Optimize imports


  • Parser improvements


  • Bug fixes


  • Haxe 3 support


  • Folding


  • Bug fixes


  • NME support improvements
  • HXCPP debugger improvements


  • Bug fixes


  • New Compiler Mode


  • Bug fixes


  • Bug fixes


  • HXCPP Debugging
  • Bug fixes


  • Introduce Variable Refactoring
  • Using Completion
  • Bug fixes


  • Conditional Compilation Support
  • Bug fixes


  • Live Templates
  • Surround With Action
  • Smart completion
  • Goto Test Action


  • Bug fixes
  • EReg support


  • Bug fixes
  • Structure view


  • Bug fixes
  • Unresolved type inspection


  • NME Support
  • Override/Implement method action
  • Generate getter/setter action
  • Parameter info action


  • Type resolving improvements
  • Goto Implementation(s) action
  • Goto Super Method action
  • Move refactoring


  • Completion fixes


  • Type resolving improvements
  • Rename refactoring
  • NMML scheme
  • HXML support


  • Type resolving improvements
  • Documentation support
  • New color settings


  • Jump to declaration of local, std symbol or class
  • Reference completion
  • Class completion
  • Color settings
  • Code formatter
  • Go to Class
  • Icons for Haxe files
  • Search for usages
  • Highlight symbol occurencies
  • Debugger for Flash target ("Flash/Flex Support" plugin required)


  • Haxe module and SDK
  • Parsing Haxe files
  • Keyword completion
  • Compile Haxe files and run in Neko VM

General usage instructions

Please report issues at our bug tracker https://github.com/TiVo/intellij-haxe/issues
with the plugin installed I can't open: Project Structure Open Module Settings Idea 15.0.2
I installed on PHPStorm for no good reason and I noticed it broke my "<","(" & "Tab" keys. something that might be very frustrating to any possible users.
Still crashes while doing copy/paste on large blocks of text. (e.g. marking a function with CTRL + w, CTRL + c).
kukushi I am sorry about issues you having. Please just expand all updates section and should be able to fint it there. https://plugins.jetbrains.com/plugin/6873?pr=&showAllUpdates=true
kukushi Not sure about 0.7-0.8. https://github.com/JetBrains/intellij-haxe/blob/71687dda63afbbca353add13325266f990a5991d/intellij-haxe.jar People please report any issues you have at out bug tracker https://github.com/TiVo/intellij-haxe
Editing of a nmml-file leads to an error in a NME Project (HaXe 2, NME 3.3.3). Opening the nmml-file works, as soon as some kind of input is triggered Intelli tries to launch the Windows Registry Editor for some kind of "proxy.txt". After aborting the dialog Intelli remains in a "broken" state and has to be killed via Task Manager
Where is the old version(0.7-0.8)? When there is a problem with the latest version, it can't be returned in the previous state.
need a way to configure the code style specifice for haxe documents, my project wanted to have tabs for haxe files but not for all project files
I emailed Jetbrains a month or so ago and they said they were looking for someone to continue working on the plugin. Hopefully they are still looking and will find someone soon.
Any plan to work on the haxe plugin anymore? I saw you have support for coffescript /typescript for coding on nodejs wth source map. would it be possible to have that for haxe. that would be great Thanks
Indeed seems dead, actually its so bad I am looking for other IDE than IntelliJ like the new Flash Develop which updates Haxe implementation all the time. Why bad? Because using compile time directives like #if for multiple targets breaks completion and even color scheme/highligting this makes it almost unusable for mutli target projects.
Looks like this plugin is dead. Bug tracker is full of important bugs and there was no commits in a github repo in last 2 months.
I have downloaded latest 13CE and latest haxe plugin and having some issues creating new haxe class. I set the name but not able to choose anything from "kind" dropdown as it empty. Clicking OK with unselected options throws error and no file is created. this used to work on 0.6.* versions I used before 15:30:02 IllegalArgumentException: Argument 1 for @NotNull parameter of com/intellij/ide/actions/CreateFromTemplateAction$1.getActionName must not be null: Argument 1 for @NotNull parameter of com/intellij/ide/actions/CreateFromTemplateAction$1.getActionName must not be null
Will we have new versions of plugin available for IDEA 12 or every new version will be available only for IDEA 13?
Please  sign in  to leave a comment.