Release 0.11.2 is now available.

We are proud to release our 0.11.2 release of the IntelliJ-Haxe plugin.  We’ve been hard at work fixing parsing issues and adding new usability features.  Chief among the latter is that “Find Usages” now presents the option to search for usages of a parent interface method instead of just the instance under the cursor.  You’ll also find that the automatic project updates to haxelib dependencies has been rewritten — and can be disabled via the user interface.  Now, it traverses the entire dependency tree and adds all of the libraries that the compiler would.  It’s also been made a LOT faster.

In related news: The Haxe Foundation’s fork of the plugin’s sources have now become the primary repository; JetBrains made their repository a fork of ours!  This is great news because it means that searches for Haxe and IntelliJ on github (and other search engines!) now point to our project rather than the inactive sources that JetBrains had originally provided.

The full sources and associated release notes can be found at github: https://github.com/HaxeFoundation/intellij-haxe/releases/tag/0.11.2

The plugin can be downloaded within IntelliJ-IDEA by following the installation instructions here.

As always… Enjoy!

-Eric

 

Release 0.11.1 is now available.

Hi folks,

Today, we released version 0.11.1 of the IntelliJ-Haxe plugin.  You can pick it up in JetBrains plugin repository, or on github.

This is primarily a bug-fix version, but you will likely be happy about seeing these fixed:

  • Check for and halt type resolution when a cyclical/recursive definition is found.
  • Address some freezes by delaying use of indices until indexing is complete.
  • Speed haxelib syncing (and stop unnecessary re-indexing). (Regression)
  • Fix freezes by fixing some multi-threading issues and other exceptions being thrown.
  • Speed up parsing of arrow functions.
  • Add Haxe-specific double-click selection logic for strings and comments. (Issue #212)
  • Reroute debugging informational errors to the status bar instead of modal dialogs.
  • Fix compilation halting on “- Link” informational messages.
  • Add neko and haxelib directories to the path when building projects (for all platforms; used to be OSX-only).
  • Fix multi-platform build issues (for the plugin, particularly affects Windows builds).

Take a test drive and tell us what you think! We love to hear from you.

Release 0.11.0 is out.

Hello Folks!

We’ve got a new release for you, with a more stable product and improved usability.  Take a look at our notable changes:

  • Support IDEA 2017.1
  • Include completions from the compiler. (Better typing — and results when the plug-in can’t figure things out.)
  • Better handling of type parameters, including following types through multiple levels.
  • Correct parsing of compiler conditionals; allows for more complete typing information.
  • Better ability to resolve types. (Including inside of loops.)
  • Better handling of constructors, including parameter type hints (tooltips).

Give this release a spin and tell us what you think!  We would love to hear from you.

 

The full change log:

0.11.0: (community release)

  • Support IDEA 2017.1
  • Add parsing support for “Arrow Functions.”
  • Better recovery of parsing errors in function parameter lists.
  • Fixed exceptions occurring when adding libraries, so auto-adding will work again.
  • Delay using project indexes until scanning is complete.
  • Proper resolution of constructors (‘new’).
  • Display parameter tip text when creating new object instantiations.
  • Better parsing of shift-and-assign operators.
  • Now correctly resolves variables declared in ‘for’ statements when the iterated type is parameterized. (Issue #528)
  • Resolve chained classes with type parameters (generics).
  • Correct completion with EitherType<>. (Issue#512).
  • Parse @:const type parameters without error. Also allow constants as type parameters.
  • Added navigation to getter/setter methods from property accessors.
  • Annotate strings with incorrect quotes and add quick-fix intention to convert them.
  • Note optional arguments with a ? when displaying methods.
  • Improved method signature check.
  • Added searching of implementation declared by superclasses.
  • Properly parse and evaluate compiler conditionals (#if…#else…#end)
  • Resolve array access with types other than “Array.”
  • Better ‘Main class’ chooser for the ‘Project Settings->Haxe Compiler’ dialog.
  • Fix property getter/setter quick-fixes.
  • Add location data, if known, to compiler completion error messages.
  • Display available completions even when the compiler reports an error.
  • Fixed incomplete results from a compiler run.
  • Better logic for removing duplicate entries from completion lists.
  • Better code completion using the compiler — OFF BY DEFAULT! Turn on in File->Project Structure…
  • Fix parsing of all compiler conditionals. (#417, #121, partly #115, and others)
  • Fix parsing of one-liner conditional compilation style (issue #417, #121, partly #115)
  • Support for `@:require` haxe_ver comparing (issue #418)
  • Support for `@:require` and `@:jsRequire` with multiple arguments
  • Better handling of closing parens, brackets, quotes. (Issues #545, 546)
  • Fix parsing when an anonymous function call is defined and immediately executed. (Issue #544)
  • Fix library name parsing issues for haxelibs using non-standard paths.
  • Resolve URLs properly when adding haxelibs.
  • Updated Haxe logo bitmaps.