The first Milestone brings multiple new features and improvements in such areas as J2EE and J2ME support, automated refactorings, code analysis, version control integrations, debugging, search, general usability and performance, and more.The most noticeable feature highlights are:
- Drastic performance improvements, among which are: much faster JSP and XML editing, better utilization of multiple cores/CPUs, background mode for time-consuming operations
- Spring & Hibernate support
- ClearCase integration
- New version control operations, such as: Create/Apply Patch, Shelf Changes
- Eclipse interoperability: IDEA can now read and update Eclipse project files directly
- TeamCity Integration
InfoQ caught up with Jetbrains Mike Aizatsky to discuss the milestone release. He explained that there are two main themes to version 7:
- Revisiting the roots: many decisions made years ago are now questioned and being heavily modernized- Closing the EE stack: with IDEA 7 release we're going to support the full modern enterprise stack - from persistence through integration up to presentation layer.
Aizatsky was asked about why version 7 was the right time to add Spring and Hibernate support:
It seems to us that these technologies matured enough to matter for most of our customers not long ago. And we really don't want to compete with third party plugins. It just occurs so that they are not being developed deep enough and we're not happy with level of integration they provide.
InfoQ then asked how Jetbrains was working with each respective project to ensure the best possible support:
We're often talking with Interface 21 guys and right now we're setting up the means to improve our communications. As for Hibernate - we don't have any serious contacts with Hibernate project at the moment. But we will be more than happy to have more communication.Another new feature in IntelliJ 7 is Eclipse interoperability. Aizatsky explained:
The M1 prerelease includes a possibility to keep all the classpath project configuration in eclipse files. That means, that in IDE-heterogeneous commands IntelliJ IDEA users would be able to seamlessly work with the same project structure without any additional effort.
The conversation then shifted to the debugger changes also included in the new version. Aizatsky noted that the debugger hadn't changed much in the previous versions of IntelliJ. The version 7 milestone revisits the debugger UI with the first of many planned improvements.
Another topic of interest to developers lately is Ruby/Rails support. Aizatsky explained that both it and Groovy/Grails are in the schedule:
We're going to release a Ruby/Rails plugin 1.0 separately, but almost simultaneously with IDEA 7. It will remain to be an open-source plugin but with full support we are giving to our commercial products. The Groovy/Grails plugin is also pushed hard and we'll do our best to release it roughly the same time.Finally, InfoQ asked about other planned features for the final version of InteliJ 7:
The list of planned features includes (but not limits to):
- Maven support. Our goal is to create the same level of interoperability as we've done it for Eclipse.
- TestNG support. Together with original developers of IDEA TestNG plugin we'll make TestNG tests a first-class citizens in IDEA.
- Dependency analysis. We'll bring a powerful set of tools to analyze the whole project dependencies (dependency structure matrix)
- Refactorings. More refactorings are planned as well as making existing ones more powerful and intelligent.
- Deployment configurations. A new set of tools will be created to ease creation of complex deployment structures (both for JSE and JEE).
- ECMA Script 4 support.
- Database/persistent schema diff. This tool will provide a convenient way for developer to spot any difference he has between the actual DB schema and his persistent entities (both for JPA and Hibernate).
- Spring AOP support. It wasn't ready for M1 but we expect it to shine in its whole strength in release.