After over 5 years of using IntelliJ/PyCharm, I've come across several features that, in my opinion, are underrated and under-utilized.
Code inspection/analysis
On the top bar : Code → Inspect Code
This feature enables you to run built-in static code analysis on a selected scope or directory. It compiles a list of all the identified issues and links to the relevant code sections. What's particularly useful is its ability to streamline simple refactors, such as removing unused imports. It proves invaluable for tidying up legacy code bases.
Verson Control System (Git)
Location: On the top bar : VCS
When I started using IntelliJ, I initially relied on the terminal for Git operations. However, I was pleasantly surprised to discover that IntelliJ offers excellent support for version control. The commit section near the project displays all uncommitted files, allowing for a quick review before committing and sending a merge request. Additionally, IntelliJ provides commit message editors and templates.
One particularly noteworthy feature is the Git tab on the bottom panel, which offers a user-friendly interface for committing changes, undoing commits, reverting changes, and modifying commit messages.
My personal favorite is the merge conflict resolution tool, which enhances the user experience by providing a clear view of all changes and simplifying the merging process. I highly recommend giving it a try.
Database consoles
Location: “Database“ section on the side panel
For the longest time, I didn't realize that IntelliJ could interact with SQL databases. This functionality proves valuable for querying databases within the development context, minimizing the need for context switching. Additionally, it offers code completion for SQL databases and allows for the exploration of database tables and columns easily.
These were some of my favorite but underrated features. If there are others that I've overlooked, please feel free to let me know—I'm always eager to learn.