What's New in Version 11.0
IDE
- Possibility to preserve temporary files
- Possibility to import project from Gradle
- Possibility to reopen a project from the Welcome screen
- Possibility to drag and drop a project onto the Welcome screen
- Possibility to create modules around existing source
Code Editing
- Column selection mode
- Smart Enter now applies to JavaDoc
- New PHPDoc formatting options in compliance with Zend, PEAR and other standards
Languages, Frameworks and Technologies
Configuring Project and IDE
- Possibility to copy code style from another language
- Possibility to attach sources on-the-fly
- Possibility to create libraries using JAR files selected in the Project tool window
- Possibility to move a module library to the project or global level
- Possibility to create a copy of a global library at the project level
- Possibility to move a project library to the global level
- Smart end in JavaDoc comments
- Smart indent in JavaDoc
- Safe write mode
- More convenient user interface for managing library contents
- New UI for configuring facet auto-detection
Tool Windows
- Tool Windows are now available from the View | Tool Windows menu
- Event Log tool window shows all IDE notifications and allows to take action where needed
- Dedicated tool window for managing your project favorites
- Dedicated JSTestDriver tool widow for starting the JsTestDriver server for running JavaScript unit tests in the browser
- Structure tool window shows anonymous classes
Navigation and Search
- Navigation commands are available on the Navigate menu
- Possibility to navigate to anonymous classes
- Search functionality is in the Edit menu
- Multiline search and replace in the current file
Version Control
- Reviewing changes to be checked in (Digest view) right in the Commit dialog box
- Viewing local changes from base revision in a dedicated pane on the Local tab of the Changes tool window
- Git Fetch is performed silently, without showing the Fetch Settings dialog box
- Initial support of git gists for sharing code snippets on GitHub
- Possibility to view change details for a file
- Revision graphs for Git
- Details section allows to preview results before commit
Markup languages and style sheets
Android
- Android 4 SDK (Ice Cream Sandwich) is supported
- IntelliJ IDEA detects the resource type and qualifier of a new Android resource and saves it accordingly in the relevant folder
- Previewing layout from the editor without launching a physical device or emulator. All the changes are reflected immediately in a dedicated Android Preview tool window
- Built-in obfuscation for Android applications
- Running Android applications on USB devices supported
Intention Actions and Quick Fixes
- 'Check RegExp' checks regular expressions on-the-fly
- 'Inject Language - RegExp' converts any string into a regular expression
PHP Support
- New PHPDoc formatting options in compliance with Zend, PEAR and other standards
- Debugging single php http requests supported
- Generating PHP unit tests improved
Spring Support
- Improvements in Spring support
Improved performance for large models, new features in bean dependency diagram, "Generate @Autowired dependency" action, etc.; Spring 3.1 @Configuration contexts, @ComponentScan, @ImportResource, @Profile, @PropertySource; Spring Testing: @ContextConfiguration configured with @Configuration array, @ActiveProfile.
- Spring Data JPA is supported
Groovy and Groovy-Based Frameworks
- New Groovy intention actions ( Replace qualified reference with import; Add single-member static import; Add on-demand static import)
- Unwrapping statements is now available for Groovy
- Grails 2.0.0 features (Controller actions as Methods, new JUnit Testing API, access to Gorm API from Java classes, Detached Criteria, etc.)
- Web Flow support
- Grails Resources plugin
- Standalone GORM
- Spock framework
- Groovy 1.9 support
- Introduce Parameter refactoring for Groovy can be used to introduce closure parameters
- Code Coverage in Grails run/debug configuration
Debugging
- Possibility to navigate from backtrace in the Watches tab to source
- Possibility to automatically detect a stack trace in the clipboard
- Adjust Range command is now available for lists
UML
Data Access Support
ActionScript, Flex and AIR Support
JavaScript Support
- The mark object action is available in the JavaScript debugger
- JavaScript unit testing
- Built-in JSLint code quality checker
- NodeJS: coding assistance, running, debugging, and unit testing
Testing Support
- Code Coverage colors can be changed
- Single action to run with coverage
- Unit Testing for JavaScript. JSTestDriver Assertion, QUnit, and Jasmine frameworks are supported
- Running JavaScript unit tests in browser
- Generating PHP unit tests improved
Remote Hosts
Build Tools
Java EE and Web Development
Miscellaneous Improvements
- Quick hide/show tool window buttons
- Macros functionality is in the Edit menu
- Possibility to compare binary files
- Highlighting level of the current file can be configured from the Analyze menu
- Hierarchies are built in the Navigate menu
- Find Action is in Help menu
What's New in Version 10.5.0
Code Editing
- Moving lines up and down
- CamelHumps in code completion are detected without using the Shift key
- Import statically in class name code completion
- Horizontal arrow keys in code completion
- Sorting of a suggestion list
- In JavaDoc, the caret is placed to an expected position on pressing Enter
- Changing font size in the Quick Documentation window
- You can drag-and-drop schema, table and field names from the Data Sources tool window into the editor
Languages, Frameworks and Technologies
Configuring Project and IDE
Tool Windows
- Project tool window: Copy reference works for packages in the Package view
- Data Sources tool window: you can drag-and-drop schema, table and field names into the editor
- Data Sources tool window: schema objects can now be grouped by their types
- A new tool window for working with Spring Roo console is available
Navigation and Search
- The switcher can navigate between the split editor tabs and floating tool windows
- Navigation between JavaScript tags in HTML files
- Scroll to top / scroll to bottom
- Swipe gestures for back and forward navigation are supported for Mac os x
- Improved search and replace in the current file
- Regexp shows replacement preview
- Easy initiating new search
- Horizontal scrolling with the mouse wheel
Running and Debugging
Version Control
- Possibility to review TODO items before commit
- Viewing the GitHub version of a file from IntelliJ IDEA
- Setting up connection to Perforce server has become highly fail-proof
Markup languages and style sheets
Android
- The Honeycomb platform is supported
- Debugging an already running process is available
- Android DX tool supported
Inspections
- Simplify annotations
Reports spaces between @ and name, unnecessary parentheses and value="foo" constructs which can be shortened, and offers a quickfix. (Since 10.0.2).
- Double literal cast to float
Reports double literal expressions which are immediately cast to float, and offers to replace with an equivalent float literal. (Since 10.0.2).
PHP Support
- Viewing parameter info for methods defined through the @method phpDocumentor tag is available
- Dedicated Command Line Tools tool window
- IntelliJ IDEA recognizes .htaccess files and provides syntax highlighting, formatting, code completion and documentation lookup for common directives
- Multiuser debugging via XDebug proxy servers supported
- Command Line Tools functionality is provided through a dedicated tool window with the possibility to navigate through the list of executed commands and their output and save the output in a text file
- Phing build tool is supported
- Workaround for the XDebug on FreeBSD crash can be enabled
- Zero-configuration debugging
Spring Support
- Spring Roo console is now available
- The Spring 3.1 c-namespace support is available
- The Spring 3.1 bean definition profiles are supported
- The Spring Integration framework is supported
- Spring profiles panel can be shown in the editor
Groovy and Groovy-Based Frameworks
- Intention action: if the caret is placed on a field in a domain class, an intention action suggests to make this field nullable, or unique
- Intention action: create action from usage
- Introduce Field refactoring is available for Groovy
- Creating actions and views from usage
- Groovy 1.8 support
- Intention action to create Groovy tests
- Navigation to Groovy tests
- Introduce Parameter refactoring for Groovy is available
- Grails tool window shows the Scripts directory
Google Web Toolkit (GWT) Support
- Coding assistance, including code completion, error highlighting, and finding usages, for declarations of external resources through the <ui:with> element
- Creating GWT event and event handler classes supported
- The possibility to choose the starting page of the application even if showing the application in the browser is suppressed
- Flexible configuration of the GWT compiler with the possibility to specify for each GWT module whether you need it compiled on make or not
UML
Data Access Support
- You can create data sources by importing Tomcat configuration files (context.xml)
- A dedicated dialog is now available for working with the history of executed SQL statements
- Updated differences viewer for folders and database objects
- Table and column usages include database schema usages
- Possibility to compare schemas of two data sources
- You can drag-and-drop schema, table and field names from the Data Sources tool window into the editor
- JDBC drivers are downloaded right from Data Sources tool window
ActionScript, Flex and AIR Support
- Possibility to view changes in ActionScript source files in a structured form on UML diagrams
- When moving an ActionScript class or interface to a package, a package chooser is now available
- The Move Inner to Upper Level refactoring is available for moving out-of-package entities into a package
- Development of AIR applications for mobile devices is supported
- Import of FXP files is supported
- Type chooser in the Introduce Variable/Field/Constant dialogs for ActionScript
- When importing Flexmojos projects, you can turn auto-generation of Flex compiler configuration files on and off
JavaScript Support
Refactoring
- Inline Method refactoring allows to view the number of invocations of a method
- In-place Introduce Constant refactoring for Java
- In-place Introduce Field refactoring is available for Java
- In-place Introduce Parameter refactoring for Java
- Improved Introduce Variable/Field/Constant refactorings for ActionScript
Testing Support
- Possibility to choose language for a test class
- Possibility to turn off display of the Code Coverage dialog
Build Tools
Java EE and Web Development
Miscellaneous Improvements
- Jetty integration plugin comes bundled with IntelliJ IDEA
- Updated ruby on rails, php, Python/Django and Scala plugins
What's New in Version 10.0
Code Editing
- You can now open and modify language injections in the editor, as if you were working with the source code in the corresponding language
- When performing the Introduce Variable refactoring, you can specify the name of the new variable right in the editor
Languages, Frameworks and Technologies
- Google App Engine. Support of JPA and JDO persistence
- Google App Engine. Run enhancer is available for JDO and JPA
Running and Debugging
- Referencing labeled variables, watches, and objects by labels is available
- Default run/debug configurations are presented under the Defaults node
- Possibility to automatically bring the editor forward on hitting a breakpoint
Version Control
- On-the-fly spellchecking in commit messages is available
- Integration with GitHub is available. Now you can register GitHub accounts, create and clone repositories from IntelliJ IDEA
Markup languages and style sheets
- SASS3 support, with syntax highlighting, indentation-based code folding, and color editor
- LESS support, with compilation and coding assistance
Android
- Navigation between resource definition files and R.java by clicking the Go to icon in the left gutter area
- Unit testing for Android applications is supported
- Sharing Android source code and resource using library projects is available
- Extracting a signed Android package is available
Inspections
PHP Support
Groovy and Groovy-Based Frameworks
- Search for usages is available for *.gsp files
- Rename refactoring is available for *.gsp files
- Grails filters can be created
- Means of navigation between Grails controllers and views
- History is now available in the Run Grails Target dialog box
- Debugging *.gsp files
- Find Usages is now available for the variables defined via g:set tag, and for the fields of the domain classes
Google Web Toolkit (GWT) Support
- GWT UiBinder is supported
- The possibility to choose whether to open a GWT application in one of the configured browsers or not
UML
- UML class diagram is available from different places, for example, from the navigation bar
- Creating notes in UML class diagram
Data Access Support
- Input pane of the Database console opens as an editor tab. Editing tables is available from the Results pane
- Operations with database binary large objects (BLOBs) are supported
- Tables can be edited using a graphical Table Editor. The range of records to be displayed can be controlled through filters
- Possibility to view parameter information for prepared SQL statements
ActionScript, Flex and AIR Support
- The Change Method Signature, Delegate Methods, Extract Interface, Extract Superclass and Introduce Parameter refactorings are now available for Flex and ActionScript
- Smart code completion is now available
- You can generate ActionScript classes and class members using UML diagrams
- The Create Subclass and Implement Interface intention actions are now available for ActionScript classes and interfaces
- Selection of the browser or standalone Flash Player for running SWF applications has become more convenient
- You can register your SWF application files as trusted
- A multithreaded built-in Flex compiler shell is now available
- You can now control which library classes are included in the compilation result and which are not using the Export and the Scope options
- It's now possible to compile CSS files to SWF files for Flex modules and facets
Refactoring
- When performing the Introduce Variable refactoring, you can now use smart expression selection in JavaScript and ActionScript
- The in-place code editing is now available for the Introduce Variable refactoring
- When working with Flex and ActionScript, you can now use the Change Method Signature, Delegate Methods, Extract Interface, Extract Superclass and Introduce Parameter refactorings
- Search for references option is now available for Rename
- Search for references option is available for moving files and directories
- Search for references option is available for renaming files
Code Analysis
Testing Support
Build Tools
- Introduce Property refactoring
- Viewing Maven dependencies in a UML class diagram, excluding dependencies, navigating to source code
- Possibility to download external libraries via Maven public repositories
- Possibility to use corporate repositories, if they are managed by Nexus
Java EE and Web Development
- Code completion, error highlighting, and basic refactorings are now available for the most popular JSF component libraries
- WebLogic server run/debug configurations have become more flexible
- ColdFusion is supported
Miscellaneous Improvements
- If the main toolbar is hidden, the docked navigation bar shows run/debug configuration controls
- Power save mode
- Detaching editor tabs
- Task and Context Management is now available in the Community edition
- Support for JIRA, YouTrack, Lighthouse, Pivotal Tracker, RedMine and GitHub issue tracking systems
- XML breadcrumbs
What's New in Version 9.0
Code Editing
- Autofolding now includes anonymous classes, generic parameters, i18n strings, and more
- Built-in spellchecker
- Several live templates can have same abbreviations
- Create Java class action
- Asterisk * wildcard can be used in code completion popup
- Easy class exclusion from auto-import and code completion
Languages, Frameworks and Technologies
- Google app engine support
- Tapestry integration
Tapestry integration includes syntax and error highlighting, navigation between classes and templates, intention actions for creating components, pages and mixins, and code analysis.
- OSGi support
OSGi application development includes facet, run/debug configuration, syntax and error highlighting, code completion, and automatic project configuration.
- Android module
- Scala support available via Scala plugin, with the dedicated facet and coding assistance
- La Clojure support available via La Clojure plugin, with the dedicated facet and coding assistance
- PostgreSQL and Derby SQL dialects are now supported
- Running and debugging Android applications
- OSGi facet
Navigation and Search
- Using switcher to navigate between open files and tool windows
- Declaration pop-up window for annotation types now shows @ to tell annotation types from interfaces
- Improved UI of the Show Usages pop-up window
- Possibility to specify multiple comma-separated file masks in the Find/Replace in Path dialogs
Running and Debugging
Version Control
- Subsets of changes to apply can be flexibly configured
- Managing branch tracking
- Integration with Subversion 1.6 is supported
- Configuring protection of inactive changelists
- VCS quick list
- Viewing differences between the local copies of all the project files one after another and their updates from the server
Android
Inspections
- 'Convert to atomic intention action
"Convert to atomic" intention action replaces variable type with the corresponding atomic type.
- New code inspections
New code inspections powered by InspectionsGadget, for example, related to 'assert' statement.
- Global unused declaration inspection
PHP Support
- PHP development and debugging
- Creating PHPDoc blocks
- Run/debug configuration: php web application
- Run/debug configuration: PHPUnit
- Run/debug configuration: PHPUnit on server
Spring Support
Groovy and Groovy-Based Frameworks
- Smart type code completion after new in Groovy
- Gradle is now supported
- Simplified way of creating Grails or Griffon Application modules
- Groovy classes, interfaces, enumerations and annotations are created in a single action
- Run/Debug configuration for Griffon applications
- Per-project Gant home setting
- Per-project Gradle home setting
- Grails tool window
- Griffon tool window
UML
- Configuring default settings for UML class diagram
- Adding node elements to UML class diagram
- Viewing changed classes in UML class diagram
- Viewing subtypes, super classes, and classes used in signatures
- UML presentation of changed classes is now available from the Changes tool window
Data Access Support
ActionScript, Flex and AIR Support
- Ctrl+Q for AsDoc
- FlexUnit
- Easy import from Adobe Flash Builder
- New Flex refactorings: Extract Method, Introduce Variable, Introduce Constant, Introduce Field, Inline, Pull Members Up, Push Members Down
- Type, Method, Call Hierarchy for Flex sources
- Automatic generation of Bindable getters/setters, event handlers
- AIR run/debug configuration
Refactoring
Code Analysis
Build Tools
- Fully integrated Maven 2.2 support
- Find Usages
- Improved navigation between modules and pom dependencies with Ctrl+B
- Rename refactoring for properties defined in custom filters files
- Classpath for Maven-based projects is built following Maven dependency mechanism
- Add Maven Dependency quick-fix for unresolved classes in Java code
- Parent and dependencies generation in pom files with Alt+Insert
Java EE and Web Development
Miscellaneous Improvements
- Improved file indexing
IntelliJ IDEA performance is way better due to backgroundable file indexing, with limited navigation / editing / VCS functionality being available during the indexing process.
- On-the-fly module reloading
IntelliJ IDEA features automatic module reloading, which means that changes in .iml files (in particular, after updating from version control) no longer require reopening the entire project.
- Platform-specific ide help shows keyboard shortcuts for your particular operating system
- Tool window tabbed content mode
- Possibility to open files in associated applications
- Possibility to perform clipboard operations between IntelliJ IDEA and Explorer/Finder
- PSI structure viewer
- Preview of small icons in Java classes
- Dependency Scopes: compile, test, runtime, provided

