One of the major features in the upcoming release of IntelliJ IDEA 12 Leda is a completely revised approach to compilation of a project. We have rebuilt it from the ground up to bring a new user experience and a better performance.
There are following key principles for this new compilation approach:
- All compilation tasks are performed in a separate process, fully independent from the main IDE’s process, to get rid out of memory and other resources contention.
- Java compiler is used “in-process” via Java API for better performance and more flexible annotation processors management.
- Java classes dependency management completely rewritten for faster and more accurate search of dependent classes.
- Compilation is automatically triggered (“auto-make”) by events from the file system of the IDE if such option is enabled.
As a result of these improvements we have:
- Significantly faster rebuilds.
- Lower memory requirements for the IDE.
- Global error highlighting without explicit compilation invocation.
We’re still working on the feature and its performance, so we will provide the benchmarks later.
There are also other things coming soon:
- Eclipse Java compiler support.
- Ability to use the feature from the command-line and and Ant/shell scripts.
Integration with Eclipse Java compiler will enable better errors highlighting for the project and even running Java applications containing compilation errors.
Expect more details in the upcoming EAP releases!
Since the feature is still under development, it has constraints, which we hope will be removed soon:
- Enabled only for Java and Groovy sources, resource files, UI designer forms, artifacts, Android classes and resources, annotation processors and not-null instrumentation.
- Not supported (yet) Eclipse-based and Grails projects.
This external build feature is currently disabled by default. You can enable it in Preferences → Compiler settings:
The checkbox Use out-of-process build for project compilation enables the new compilation approach. If you enable Make project automatically checkbox, the compilation will be automatically triggered once you make any changes in the sources.
News from our neighbor teams (non-paid)
Our great keyboard-oriented issue tracker YouTrack has been just updated to the latest version.
YouTrack 4.0 introduces a completely new Agile project management module. Now Scrum teams can plan and manage their work during a series of consecutive sprints, while teams that follow Kanban process can manage and measure their work flow on the board.
Check out the YouTrack 4 What’s New page for details.