This month I pent the majority of my time getting the plug-in to build on versions of IntelliJ IDEA 2018.2, 2018.3, and 2019.1. Each version had its own challenges. In the end, I built a new system to create version-specific sources from templated source files. The templates live in the same tree as the normal sources and are copied as necessary to appropriate places for compilation. I was able to avoid using multiple trees as we have in the past, and we again have a reasonable solution to account for version differences so we can continue to support older versions of the IDE.
The end result of this, of course, was to get a build that works on 2019.x versions of IDEA. The build runs, but it doesn’t pass smoke tests — too many errors were being marked because our abstract support was incomplete. So, I’ve already checked in some fixes and have a few more to complete before I can call this good enough.
What I worked on for our sponsors:
1) Create local var from unresolved references (Alt+Enter). (incomplete — on hold until release)
2) Better detection and handling of abstract classes (falls under “Better error detection” task). (incomplete, partially merged, blocking release)
3) Release an updated version (incomplete).
What I worked on for the Community:
1) Building for all current versions of IntelliJ IDEA.
2) 2019.1 release.
3) Std library UI and properly detecting/updating Haxe Toolkits. (Back-burner)
1) Tab settings pages and code reformatting engine. This is mostly done, but it needs exhaustive unit tests to be written. The current set is minimal.
2) Comment formatting — including DOX.
1) New release
2) Fix debugging C++ projects with Lime
3) Finish tab settings changes. (stretch)
4) Add safeguards so that project rebuilds won’t erase directories outside of the project tree. (stretch)
5) Haxe 4 features? (stretch)
1) Refactor: New Class/Method/Var from Alt+Enter.
2) Better error detection. (#531) (Next up is dealing with @allow issues.)
Have a great month, folks.