– 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.
– Lets you easily use static methods or constants. Offers a list of symbols matching your input and automatically adds required import statements.
– 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 working on.
– 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.
– Every aspect of IntelliJ IDEA is designed with ergonomics in mind. IntelliJ IDEA is built on a principle that every minute a developer spends in the flow is a good minute, and things that break developers out of that flow are bad and should be avoided.
– Most of your time the editor (and the code) is the only thing visible on your screen, and you don’t need to leave it to do something that isn’t coding-related. Quick popups are helpful for checking additional information without leaving the context that you’re in. When you press Ctrl+Shift+I it shows you the definition for the symbol at caret. To generate code, you don’t have to walk through complex wizards or fill huge forms.
– In IntelliJ IDEA you have dedicated keyboard shortcuts for nearly everything, including rapid selection and switching between tool windows and the editor. Accessing a tool window via its shortcut moves the input focus to it, so you can use all keyboard commands in its context. When you need to go back to the editor, just hit Esc. When you’re in the Project tool window, you can not only navigate through the existing items, but also create new ones by just pressing Alt+Ins.
– All lists, trees and popups in IntelliJ IDEA provide you with quick search that instantly takes you to a set of items that contain text you’re typing in them. The first call of any IDE action is supposed to provide most expected results. Need more results? Press the shortcut again and the IDE will go deeper to find what you need.
– When you debug your code IntelliJ IDEA shows you variable values right in the source code, next to their usages. You don’t even have to hover the mouse over the variable, or switch to the Variables pane of the Debug tool window. Any time a variable changes its value, the IDE highlights it with a different color so that you can better understand how the state is changed over the code.
– To streamline your workflow, IntelliJ IDEA offers an unbeatable toolset right from the first start: decompiler, bytecode viewer, FTP and many more.
– IntelliJ IDEA provides a unified interface for major version control systems including Git, SVN, Mercurial, CVS, Perforce, and TFS. The IDE lets you browse the history of changes, manage branches, merge conflicts and much more
– IntelliJ IDEA supports Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt, Gulp and other build tools. Seamlessly integrated, these tools help automate compilation, packaging, running tests, deployment and other activities
– IntelliJ IDEA lets you perform unit testing with ease. The IDE includes test runners and coverage tools for major test frameworks, including JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, and Karma.
– IntelliJ IDEA comes with a built-in decompiler for Java classes. When you want to take a look inside a library that you don’t have the source code for, now you can – without any third-party plugins.
– The IDE comes with a built-in terminal. Depending on your platform, you can work with command line prompt, Far, powershell, or bash. Invoke the terminal with Alt+F12 and execute any command–without leaving the IDE.
– Take advantage of intelligent coding assistance when editing SQL; connect to live databases; run queries; browse and export data; and even manage your schemes in a visual interface–right from the IDE.
– IntelliJ IDEA supports major application servers: Tomcat, JBoss, WebSphere, WebLogic, Glassfish, and many others. You can deploy your artifacts onto application servers and debug the deployed applications right from within the IDE.
– Via a separate plugin, IntelliJ IDEA provides a dedicated tool window that lets you connect to locally running Docker machines to manage images, containers and Docker Compose services.
– In addition to Java, IntelliJ IDEA offers first-class support for top JVM and non-JVM frameworks and languages out of the box.
– IntelliJ IDEA provides support for the most popular server-side and front-end frameworks. Take advantage of extended coding assistance for Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, React, AngularJS and other frameworks.