Deep insight into your code. IntelliJ IDEA analyzes your code, looking for connections between symbols across all project files and languages. Using this information it provides indepth coding assistance, quick navigation, clever error analysis, and, of course, refactorings.
Ctrl+Shift+Space gives you a list of the most relevant symbols applicable in the current context. This and other completions are constantly learning from you, moving the members of the most frequently used classes and packages to the top of the suggestions list, so you can select them faster.
Digs a tad deeper than Smart Completion and lists applicable symbols accessible via methods or getters in the current context. Say youâ€™re looking for a value of Project and only have the Module module declaration. Press Ctrl+Shift+Space twice to get module.getProject() without any additional effort.
Static members completion
Lets you easily use static methods or constants. Offers a list of symbols matching your input and automatically adds required import statements.
Data flow analysis
When offering completion variants, IntelliJ IDEA analyses data flow to guess the possible runtime symbol type and refines choices based on that intel, automatically adding class casts.
Knowing everything about usages of a symbol, IntelliJ IDEA offers extremely effective, thorough refactorings. For example, when you Rename a class within a JPA statement, it will update everything, from JPA entity class, to every JPA expression where it is used.
Finds duplicate code fragments on the fly. Even if youâ€™re only about to extract a variable, constant, or a method, IntelliJ IDEA will let you know that there is a similar code fragment that can be replaced along with the one youâ€™re woking on.
Inspections and quick-fixes
Whenever IntelliJ IDEA detects that youâ€™re about to make a mistake, a little lightbulb pops up in the editor. Clicking it or pressing Alt+Enter opens a list of actions you can take to make things right.