JBoss Seam

IntelliJ IDEA 8 provides dedicated support for JBoss Seam out-of-the-box, with comprehensive facilities for full-cycle development of Seam applications.

Seam support includes:

  • Coding assistance with smart completion Coding assistance with smart completion
  • Syntax and annotation highlighting
  • Wide range of Seam-aware code inspections, plus quick-fixes Wide range of Seam-aware code inspections
  • Visual editors for page flow and page navigation rules, including Seam components dependencies graph Visual editors for page flow and page navigation rules
  • Advanced navigation with dedicated structure views
  • Seam-specific nodes in Project View
  • Support for Seam elements (annotations, conversations, EL, observers, etc) Seam elements support
  • Seam-aware Find Usages and project navigation actions
  • All of the IntelliJ IDEA automatic refactorings are Seam-aware

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 javascript debug toolwindow
  • Runtime evaluation of JavaScript expressions
    Evaluate expression support

Flex Code Editing

IntelliJ IDEA ActionScript and MXML editor is beefed up with new features like implement/override methods, generate accessors and constructors, auto-import and optimize imports, etc. IntelliJ IDEA 8 also supports Flash 10 ActionScript generics.

  • Automatic namespace import when you use a class or interface
  • Alt+Ins automatically generates the following code:
    • Implemented methods Implemented methods
    • Overriden methods Overriden methods
    • Getters and setters for properties Getters and setters for properties

Struts 2

Version 8 offers better Struts support, extended to fully support Struts 2 via the full range of productivity-boosting features:

  • Configuration via dedicated Struts 2 facet Struts 2 facet configuration support
  • Struts 2 facet includes the fileset manager, library validator and is capable of automatically detecting the configuration settings
  • Dedicated Struts 2 structure tool windows
    Struts 2: structure tool windows Struts 2: structure view
  • Multiple code inspections that spot Struts 2-specific code issues
  • Support for inplace Javascript and CSS code
  • Coding assistance with smart completion
    Coding assistance with smart completion
  • Struts 2-aware project navigation across Java, JSP and XML files Struts 2-aware project navigation across Java, JSP and XML files Struts 2-aware project navigation across JSP files
  • Struts 2-ready refactorings

    Struts 2-aware project navigation across JSP files

Spring 2.5

Spring support has been upgraded with version 2.5 and a set of new and improved features.

  • Spring Web Flow support, including visual designer and coding assistance in both XML configuration files and Java annotations Visual Spring webflow designer
  • Support for Spring 2.5 stereotypes with qualifiers (@Component, @Service, @Repository, @Controller, @Qualifier) Spring 2.5 stereotypes
  • Support for Spring 2.5 autowiring
  • More Spring model code inspections, with automatic quick-fixes
  • Optimized dependencies diagram
  • Spring MVC
    • Smart code completion and resolution is provided for Spring MVC controller URLs. mvc Urls Completion
    • Code completion also recognizes MVC model attributes. mvc Attributes Completion
  • Spring Dynamic Modules
    • Full-fledged coding assistance, with smart completion and syntax highlighting spring Dynamic Modules Compl
    • Code inspections with error highligting spring Dynamic Modules Insp
    • Advanced navigation, with usage search spring Dynamic Modules Nav Usag
    • Template beans and numerous live templates for automatic code generation

Support for SQL-92 and MySQL

IntelliJ IDEA now supports SQL scripts with the complete range of its coding assistance features: smart completion for keywords, table and column names, syntax and error highlighting and more. Plus, Rename refactoring also recognizes and updates table and column names. IntelliJ IDEA recognizes generic SQL (SQL-92), MySQL and SQLite.

Dedicated SQL Console is provided to run SQL scripts right from the IDE.

Multi-Dialect SQL Console SQL-specific code complition
  • Smart JDBC console, with complete SQL coding assistance, for running SQL queries directly from IntelliJ IDEA
    • Easly invoked from the Database toolwindow jdbc Console Invoke
    • Use it as a dedicated toolwindow jdbc Console Dedicated
      or as the full-scale SQL query editor jdbc Console FullMode
  • SQL data sources support
    • SQL data source is an sql file containing the Create Table statement. IntellJ IDEA recognizes the code and offers coding assistance based on its structure.
      sql-datasource
    • IntelliJ IDEA treats SQL data sources the same way as JDBC.
    • SQL data sources can include tables from other data sources.
    • You can drag and drop sql files from project view to Database toolwindow to quickly create SQL data source.

FreeMarker and Velocity

IntelliJ IDEA now completely supports FreeMarker and Velocity: code completion, syntax and error highlighting, implicit variable declarations in comments, parameter info and quick documentation, and the others. Moreover, the complete support is provided for HTML and CSS code embedded in the templates.

Directive Name Completion Velocity Freemarker Macro

  • Explicit variable definition for better coding assistance Define Intention
  • Code completion in comments for implicit dynamic variables Define Completion

XSLT/XPath support

  • Smart XSL and XPath code completion for:
    • Tag and attribute names, and their values
    • User-defined variables, template and stylesheet parameters xsl Completion Vars
    • Axes xsl Completion Axes
    • Functions xsl Completion Funcs
  • XSL and XPath syntax and error highlighting xsl Inspection
  • Instant quick-fixes for spotted problems xsl Quick Fix
  • XPath-based search for XML files find Xpath

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.

REST WebServices

IntelliJ IDEA support for WebServices has been extended with Representational State Transfer (REST) WebServices, integrated through a set of its productivity-boosting features to let you easily and effectively write, debug and deploy REST WebServices applications. IntelliJ IDEA supports version 1.0 of the JSR-311 specification and its reference implementation, Jersey.

  • Coding assistance with code completion and syntax highlighting
    Coding assistance with code completion and syntax highlighting
  • Multiple on-the-fly code inspections with instant quick-fixes
    Multiple on-the-fly code inspections with instant quick-fixes Multiple on-the-fly code inspections with instant quick-fixes
  • Dedicated tool window for live debugging of the service with GET, POST, DELETE, PUT and HEAD requests. It allows you to customize requests with parametes, support proxies and is capable of generating URL patterns from Java code. REST Dedicated tool window
  • Automatic generation of WADL descriptors from REST WebServices Java code

UML class diagram with navigation to the source code and refactorings

  • Visual code authoring: create classes, fields, methods, etc. UML
  • 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 UML
  • Visual dependencies representation, with fully customizable view, both on the class level UML
    and the package level
    UML

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 Revert Changes intention action
  • 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. Facets By Type Tree
  • 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:
    Introduce Constant Before After:
    Introduce Constant 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.

Analyze Thread Dump

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 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 Advanced coding assistance for Gant targets
    • Gant run configuration
      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 of attributes for default Grails tags
    • Completion for Domain classes' dynamic methods and finders Completion for Domain classes dynamic methods and finders Completion for Domain classes dynamic methods and finders
  • Quick invoke for Grails Scripts
    Quick invoke for Grails Scripts
  • Convenient Grails plugins management Convenient Grails plugins management
  • Run configuration for Grails tests
    Run configuration for Grails tests

HTML, XML, JSP, CSS

  • Rename CSS color value (Shift+F6) refact css Color Refactoring
  • Quick preview of colors defined in CSS styles on gutter css Gutter Color
  • Preview of HTML or JSP files in arbitrary browser via context popup html Preview Browser
  • Extended support for browser-specific CSS properties css Completion Browser Spec
  • Redesigned Web preview for HTML, RHTML and JSP files
  • Improved Show Applied Styles tool window
    Displays all the styles that apply to an arbitrary tag in HTML/XHTML or JSP/JSPX.
  • Automatic namespace import for XML, JSP and JSPX
    Type a tag with an unbound namespace prefix, and IntelliJ IDEA offers a set of namespace choices that you can import.

Automatic namespace import for XML, JSP and JSPX Automatic namespace import Automatic namespace import

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. Subversion 1.5 Merge Support
  • 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. Revert Changes intention action

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.

data Flow Demo

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. Maven Create From Archetype
  • 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. Maven Completion Plugins
  • Add Maven Dependency Quick Fix for unresolved classes in java code.
  • Parent and dependencies generation in pom files with Alt+Insert. Maven Artifact Seaarch
  • 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. Create Test Intention
  • Goto test navigation with Ctrl+Shift+T. Lets jump to an arbitrary test of the selected class. Test Navigation

Major performance improvements

Reworked indexing engine speeds up processing of external changes (e.g. updates from VCS).

New compiler caches provide significantly faster compilation.

IntelliJ Configuration 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.)
  • Perform all common VCS functions
  • 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
  • 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
  • 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:

Perform rebasing, including interactive mode
      and multiple Git roots

You can search for jobs using a variety of criterias, with complete Perforce widcards support.

Perform rebasing, including interactive mode
      and multiple Git roots

Oracle SQL dialect support:

SQL editor supports Oracle SQL dialect, with completion, validation and highlighting.

Oracle SQL dialect support

Resin integration

Resin application server is supported via the dedicated run configuration, with application deployment and debugging (both local and remote) support.

Resin integration