Supported languages
Development of modern applications involves using multiple programming languages, tools, and technologies. IntelliJ IDEA was designed as a Java IDE, but it can be extended using plugins to support development with almost any popular language. For some of those programming languages JetBrains provides separate IDEs, which are based on the IntelliJ platform and only include features specific to the language.
Coding assistance in IntelliJ IDEA includes:
Syntax and error highlighting to maintain green code
File templates to create stub classes, scripts, and so on
Live templates to expand abbreviations into complicated code constructs
Code completion to complete names of classes, methods, fields, parameters, and other entities depending on the context
Code generation to generate language-specific code constructs
Intention actions and quick fixes to optimize your code
Code refactorings to rename, move, copy, and delete entities across the whole codebase
Import assistance to import missing libraries
Language injections for working with supported languages inside string literals, tags, or attributes
Code reference information for viewing API documentation, parameter names and hints in methods, static expression data, and so on
Code folding to hide blocks of code that are not relevant to your current task
Code formatting to format and arrange code according to your coding style
Besides coding assistance, IntelliJ IDEA also supports language-specific tools for building, running, testing, and deploying applications.
JVM languages
Use IntelliJ IDEA to develop applications in Java and other popular languages that can be compiled into JVM bytecode.
Other languages
Use plugins to extend IntelliJ IDEA language support if your project includes some code in other languages. However, if it is your main development language, consider using a dedicated IDE.