Feeds

IntelliJ IDEA 5.0: can it survive the Eclipse onslaught?

Sometimes less is more

The essential guide to IT transformation

Review The rise and rise of Eclipse is a mixed blessing for developers. There are obvious benefits in the existence of such a high-quality tools platform, free and open source, and seemingly everyone bar Sun and Microsoft has signed up to use it. The downside is the pressure it puts on other independent tools vendors.

It is sad to see Borland’s excellent JBuilder becoming an Eclipse add-in, for example. In all this, IntelliJ IDEA from JetBrains is a notable survivor. IDEA is focused on the automation of common editing tasks. The trick here is to achieve features that improve productivity without being intrusive or annoying, and in this IDEA is remarkably successful.

Shows how IntelliJ IDEA uses modules to support different application types.

Features

IDEA is a code-centric editor characterized by two key features. The first is refactoring. IDEA was among the first IDEs to include refactoring tools, and remains particularly strong in this area, with an extensive list of refactoring, intelligent implementation, and clear documentation. For example, Safe Delete will delete a class or class member only if there are no usages. If there are usages, they are listed for inspection. More complex refactorings include Generify, which attempts to convert code to take advantage of Generics, introduced in Java 5.0, and to remove unnecessary casts. This edition of IDEA includes several new or enhanced refactorings, such as Move Method and Change Method Signature. Careful refactoring is a potent tool for making code more maintainable, and IDEA is the leader in the field.

This screenshot shows an IntelliJ IDEA refactoring wizard.

The other key feature of IDEA is called Intention Actions. JetBrains describes this as, “When IntelliJ IDEA considers that there is something wrong with your code, it suggests an Action to fix it.” For example, you might declare a JFrame before you have imported the relevant swing package. IDEA will pop up a suggestion, and pressing Alt + Enter adds the necessary import statement.

This screenshot shows an Intention Action at work.

This feature is not unique to IDEA. Eclipse has Quick Fix and JBuilder has Error Insight, both of which will also suggest an import in the example given. On the other hand, IDEA takes the concept further, with a huge range of Intention Actions including refactorings and EJB-specific actions as well as error corrections. They really do speed up coding, and are easy to ignore or disable when they are not needed.

If you have second thoughts about any changes, IDEA makes it easy to go back in time. It maintains local history in the background, and choosing Recent Changes from the View menu lists your main actions, with an option to rollback or view the detail in a difference editor. External version control systems are also supported. IDEA works particularly well with CVS and Subversion (new in version 5.0), but also integrates with Perforce, StarTeam and even Visual SourceSafe.

Secure remote control for conventional and virtual desktops

More from The Register

next story
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
China: You, Microsoft. Office-Windows 'compatibility'. You have 20 days to explain
Told to cough up more details as antitrust probe goes deeper
BBC: We're going to slip CODING into kids' TV
Pureed-carrot-in-ice cream C++ surprise
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Scratched PC-dispatch patch patched, hatched in batch rematch
Windows security update fixed after triggering blue screens (and screams) of death
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
prev story

Whitepapers

Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Advanced data protection for your virtualized environments
Find a natural fit for optimizing protection for the often resource-constrained data protection process found in virtual environments.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Next gen security for virtualised datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.