Debuggers for JavaScript and Flex
IntelliJ IDEA's debugger now supports JavaScript and Flex debugging with a complete range of features —
watches, conditional breakpoints, dependent breakpoints, expression evaluation and more.
- Breakpoints in HTML, JavaScript/ActionScript and JSP/MXML files
- Customizable breakpoint properties: suspend mode, conditions, pass count and more
- Frames, variables and watches views
- Runtime evaluation of JavaScript expressions
XSLT/XPath support
- Smart XSL and XPath code completion for:
- Tag and attribute names, and their values
- User-defined variables, template and stylesheet parameters
- Axes
- Functions
- XSL and XPath syntax and error highlighting
- Instant quick-fixes for spotted problems
- XPath-based search for XML files
GWT 1.5
GWT support has been extended to GWT 1.5, with new code inspections, annotations, quick-fixes and improved coding
assistance, including smart completion which now recognizes the @Key annotation.
GWT projects navigation has been improved: you can jump between corresponding synchronous and asynchronous
methods.
UML class diagram with navigation to the source code and refactorings
- Visual code authoring: create classes, fields, methods, etc.
- Supporting Drag'n'Drop to:
- Create relationships between classes (extend classes, implement interfaces)
- Add new elements by dragging them from Project View
- Code analysis and refactorings applicable from the diagram view
- Visual dependencies representation, with fully customizable view, both on the class level
and the package level
Core Java Development
- The new code coverage engine lets you track specific tests covering each line of the code. Per-branch
coverage information is collected and analyzed, letting you see how many times each condition branch was
executed.
- Per-file encoding support
Configure file encoding individually for a file, set of files, or an entire
project.
- Unwrap/Remove action
Quickly extract or remove statements from for, foreach, if..elseif...else,
try...catch...finally, while...do, do...while, and lone braces.
- Revert Committed Changes action
Revert any arbitrary code change, commited by you or your colleagues,
by applying a reverse patch to the current source code
- Use existing implementation quick-fix
Invoke it on an abstract method to copy an existing
implementation to places where implementation is missing.
- The grouping by usage type in the Find Usages toolwindow has been improved and now detects recursive and
delegating method calls, allowing you to quicker find the usages you are looking for.
- Google Guice dependency injection framework is now supported, with a number of specific inspections and code
generation actions.
- Unit testing support has been improved, with a new action for automatically creating tests for a class, and
another action for navigating between a class and its tests.
- The project configuration now allows you to view all facets of your multi-module project in a single
convenient view. You can also turn off facet autodetection for specific modules or facet types.
- The smart code completion becomes even smarter. Pressing Ctrl-Shift-Space twice allows you to find values of
the expected types which are "two steps away" (can be retrieved through a chained method call). It can also
automatically insert conversions from collections to arrays and back.
- Maven: create new module from archetype, Repository Browser, pom.xml validation and editing assistance
- Server-based, remotely loadable personal settings
- Dataflow to this command – see the where an arbitrary parameter comes from
7 New Java Refactorings
- When you are extracting methods with multiple return values, IntelliJ IDEA automatically offers you to
invoke the Extract Method Object refactoring, instead of giving up and resorting to manual
refactoring. This new refactoring moves method into an ad-hoc created new class, converting all the local
variables to its fields, so letting you further decompose the method into other methods on the same object.
- Inline Superclass is another extension to IntelliJ IDEA Inline refactorings family. When
class A extends class B, you can use the Inline Superclass refactoring to push members from class B down to
A and remove the class B. All usages of class B and its members are then replaced with class A and its
members.
- When you have a large group of parameters, which go a long way being passed through a chain of delegating
method calls, use the Introduce Parameter Object refactoring. It will create a wrapper
class for those parameters, which you can then use instead.
- Type Migration refactoring allows you to automatically change a member type (e.g. from
integer to string), and data flow dependent type entries, like method return types, local variables,
parameters etc. across the entire project. It also lets automatically convert variable or method return type
between arrays and collections.
- If you need to append some data to a method return value, use the Wrap Return Value
refactoring. It creates a wrapper class, which already includes current method return value. You can modify
the class to include the extra data you need.
- The Remove Middleman refactoring replaces all calls to delegating methods with the
equivalent direct calls. It also includes the option to automatically remove the delegating methods, which
are so becoming obsolete.
- Introduce constant refactoring improved: now it can replace all occurrences of an expression with the
constant.
Before:
After:
Thread dump analyzer
Thread Dump Analyzer provides an easy way to investigate thread dumps.
It provides the convenient view where the threads are gouped by their state, so that you can whether a particular
thread was running, idle, deadlocked, etc. at a glance.
Also, you can view the thread type, and the operation it was performing.
Groovy and Grails
Groovy
- Advanced coding assistance editor features
- Extended code completion with Smart Enter
- Move class/statement action
- Intention actions for generating equals/hashcode methods and constructors
- Multiple Groovy/Grails SDK configuration support
- Missing Return inspection
- Go to symbol action for Groovy files
- Support for domain classes in packages
- Groovy-aware refactorings
- Convert method parameter to map-parameter entry
- Dynamize invalid interface instantiation
- Support for static dynamic methods
- Gant build tool support
- Advanced coding assistance for Gant targets, including integration with Ivy
- Gant run configuration
- Auto-generation of run configuration for Groovy Script with Ctrl-Shift-F10
Grails
- Grails-specific coding assistance
- Completion of attributes for default Grails tags, based on project Tag Library Descriptor
- Completion for Domain classes' dynamic methods and finders
- Quick invoke for Grails Scripts
- Convenient Grails plugins management
- Run configuration for Grails tests
Subversion 1.5 merge tracking support
- Cherry-picking of your changes for merge. Select an arbitrary change, merge and commit it using a single
wizard.
- For Subversion 1.5, merged changes are highlighted in the Repository view so you can easily browse and
manage them.
- Revert Committed Changes action, which lets you revert any arbitrary code change, commited by you or your
colleagues, by applying a reverse patch to the current source code.
Dataflow to This — see where an arbitrary parameter value comes from
The Dataflow to This feature allows you to track where a particular variable or method parameter value
comes from through a chain of method calls.
It lets you follow different code paths that lead to the method and highlights the value across them.
If a field value is passed as a parameter, the field assignment point is also shown.
This feature relieves you from the need to study each step of the call chain manually to find out whether the
parameter value originates at that step or comes from somewhere else.

Maven: create new module from archetype, Repository Browser, pom.xml validation and editing assistance
- Creating a new Maven project from archetype with new Maven Project/Module wizard.
- Resource filtering with built-in Make.
- Manually added libraries and modules dependencies support.
- Completion of artifacts' groupId, artifactId, version, exclusions, based on downloadable repository indices.
- Code completion for plugin configuration.
- Add Maven Dependency Quick Fix for unresolved classes in java code.
- Parent and dependencies generation in pom files with Alt+Insert.
- Improved navigation between modules and pom dependencies with Ctrl+B.
- Improved configuration for Web, JavaEE and EJB facets.
- New automatic configuration for Flex, Groovy and GWT facets.
- Support for Web Overlays.
Create new test for class intention and navigation between classes/tests
- Creating a test class for arbitrary class Intention Action
- Pressing Alt+Enter on a class name allows to create a test, with automatic configuration for selected test
framework.
- Goto test navigation with Ctrl+Shift+T. Lets jump to an arbitrary test of the selected class.
IntelliJ IDEA Server
Now you can store your personal settings like keymap, fonts and colors, inspection profiles, etc. on a
dedicated JetBrains server. All you need is a JetBrains Account and your settings will be shareable and
accessible from anywhere you run IntelliJ IDEA.
Team Foundation Server integration
- Perform all common VCS functions (commit, update, revert, show differences and history, automatic check
out of modified files, etc.)

- Create and merge branches, lock and unlock files and view the history of committed and incoming changes.
- Link the existing work items to your changelist
- Create and manage TFS workspaces

Git integration
With the bundled Git integration plugin, IntelliJ IDEA enables you to:
- Carry out common VCS operations
- Clone remote repositories
- Pushing and pulling local repositories

- Perform rebasing, including interactive mode and multiple Git roots
- Flexibly apply various merge strategies
Perforce jobs support
IntelliJ IDEA Perforce integration now lets you list Perforce jobs, view their details and link them to
arbitrary changelists.
Jobs can be selected and linked directly from the Commit Changes dialog:
You can search for jobs using a variety of criterias, with complete Perforce widcards support.
Oracle SQL dialect support:
SQL editor supports Oracle SQL dialect, with completion, validation and highlighting.
Resin integration
Resin application server is supported via the dedicated run configuration, with application deployment and
debugging (both local and remote) support.
Copyright plugin bundled
Now you can automatically generate copyright headers for any type of source code and let IntelliJ IDEA
automatically keep them up-to-date. All it takes is creating a template for the copyright text and
specifying the scope to which it should be applied.