Development of a modern application involves using multiple languages, that is why IntelliJ IDEA is an IDE for polyglot programming. With the deep understanding of all the subtleties of the source code structure and syntax, IntelliJ IDEA extends its support to:
- Java. IntelliJ IDEA supports Java up to version Java 8, with lambdas, type annotations etc. For the supported language level, IntelliJ IDEA provides code completion, code inspections, quick fixes and more.
- Groovy. Refer to the section Groovy.
- Flex: advanced coding assistance for ActionScript, MXML, including code completion and inspections. Refer to ActionScript and Flex.
- CSS3: coding assistance and compilation for Less; basic support of Sass 3.
Refer to Style Sheets.
- Stylus. Refer to section Sass, Less, and SCSS.
- PHP up to version 5.4.0 with support of syntax highlighting in
.inifiles. Refer to the section PHP.
- SQL and its dialects (SQL-92, MySQL, SQLite Oracle, PostgreSQL, and Derby). Refer to Databases and SQL.
- Velocity up to version 1.7
- Drools Expert
Coding assistance in IntelliJ IDEA includes:
- Syntax and error highlighting. The color attributes are configurable in the Colors and Fonts | <language> pages of the Settings/Preferences dialog.
- File templates for the supported languages that enable creating stub classes, scripts etc.
- Live templates for creating complicated code constructs.
- Code completion.
- Code generation.
- Code folding, formatting, and highlighting.
- Intention actions and quick fixes.
- Ability to view code hierarchy .
- Quick access to the API documentation.
- Using macros in the editor.
- Advanced search and replace facilities.
- Advanced means of navigation.
- Import assistance.
- Language injection.
- The embedded local terminal where you can execute commands without leaving IntelliJ IDEA.
The polyglot arsenal of IntelliJ IDEA can be extended by installing plugins, for example, Scala, or La Clojure. With these plugins installed and enabled, IntelliJ IDEA provides the corresponding facets, coding assistance, running and debugging facilities.