IntelliJ IDEA
lastmod 2026-02-23created 2014-03-01106 edits
IntelliJ IDEA is a commercial Java integrated development environment made by JetBrains. It is also called IntelliJ or IDEA for short.
Categories
Install
## IntelliJ Ultimate
sudo snap install intellij-idea-ultimate --classic
## IntelliJ Community (무료/오픈소스)
sudo snap install intellij-idea-community --classic
## Rider (C# IDEA)
sudo snap install rider --classic
Tuning JVM options to improve speed
GPU support
There are options like the following. Check them more precisely later.
-
-Dawt.java2d.opengl=true -
-Dsun.java2d.d3d=true -
-Dsun.java2d.noddraw=false -
-Dsun.java2d.opengl=true
Meta key support
You have to open IDEs property file (Help -> Edit Custom Property ...) and type:
PyCharm
Creating Virtual Environment
- PyCharm 2016.1 Help: Creating Virtual Environment
- PyCharm 2016.1 Help: Adding Existing Virtual Environment
- Python: virtualenv for isolated Python runtime environments & PyCharm
- Setting up a Django development environment with PyCharm and pyenv
Dockerization
- Setting up a Python development environment with PyCharm + Docker (Dockerization) 1
- Connecting Docker in PyCharm
Jupyter
PyCharm hint
- Converting comments
- For comment-based type hints, PyCharm suggests an intention action that allows you to convert comment-based type hint to a variable annotation. This intention has the name Convert to variable annotation, and works as follows:
- {|class="wikitable"
! Before || After |- |
|
|}
Disable inspection (Lint)
See PyCharm:Inspections.
Stubs
How to create pyi files in pycharm.
Python Debug Server (Remote Debugging)
See pydevd-pycharm for details.
CLion
- CLion 2016.1 Help: Quick Start Guide
- JetBrains CLion C++ IDE First Impressions
- CLion 1.2: Be more powerful with Google Test support, CMake coding assistance and more
TIP
- 10 tips to be productive in CLion, a cross-platform C/C++ IDE
- Refactorings in CLion: be safe and quick
- Rename Refactorings
Tuning
Install
PhpStorm
WebStorm
- Vue I18n#WebStorm SFC i18n yaml error - In WebStorm, using vue-i18n with yaml in a Single-file component is flagged as a syntax error.
Debugging Chrome
After starting the server with vue-cli, select Edit Configurations... > JavaScript Debug, enter the URL of the running server, and select the ROOT directory of the front-end web project.
Disable inspection (Lint)
See WebStorm:Inspections.
Keyboard shortcut
| NAME | MaxOSX | Windows | Linux | BRIEF |
| Related Symbol | Ctrl+Cmd+Up | Ctrl+Alt+Home | Header/Source Switching | |
| Go to define | Cmd+B | Ctrl+B | - | |
| Choose implementation | Cmd+Alt+B | |||
| Show Documentation | Ctrl+J | |||
| Quickly navigate | Cmd+F12 | Shows the symbol list navigation for the element currently being edited. | ||
| Quickly select | Alt+F1 | Selects the Target (View) for the element currently being edited. (e.g. view in Finder) | ||
| Terminal Window | Alt+F12 | |||
| File Path | Cmd+Alt+F12 | Selects a node in the full directory path of the element currently being edited and opens it in the file explorer2. | ||
| Show parameters | Cmd+P | List of valid parameters. | ||
| Find Usages | Alt+F7 | Shift+Alt+7 | ||
| Previous/Next Occurrence | Cmd+Alt+Up/Down | |||
| Previous/Next Cursor | Cmd+Alt+Left/Right | Moves to the previous/next cursor position. | ||
| Code Generate | Cmd+N | Generates code such as Test, Constructors, and Member's getter & setter. | ||
| Toggle Bookmark | F3 | |||
| Show Bookmark | Cmd+F3 | |||
| Toggle Breakpoint | Cmd+F8 | |||
| Build | Cmd+F9 | |||
| Resume Program | Cmd+Alt+R | |||
| Path Popup | Ctrl+Alt+Shift+2 | Opens the OS file browser popup for the focused file (or folder). | ||
| View | ||||
| Parameter Info | Ctrl+P | |||
| Navigate | ||||
| Search Everywhere | Double Shift | |||
| Search Class | Cmd+O | |||
| Search File | Shift+Cmd+O | |||
| Search Symbol | Cmd+Alt+O | |||
| Recent Files | Cmd+E | |||
| Debugging | ||||
| Step Over | F8 | |||
| Step Into | F7 | |||
| Step Out | Shift+F8 | |||
| Stop | Cmd+F2 | |||
On Linux (Ubuntu), if you change the keymap to the MacOSX one, the META key does not work properly. This can be fixed by following Ubuntu#How to use META key.
Linux Keybinding with IdeaVIM
IdeaVIM Settings:
-
Ctrl+C(Copy): IDE -
Ctrl+S(Save): IDE -
Ctrl+V(Paste): VIM
Idea Keymap:
- Paste:
Ctrl+Shift+V
Useful custom keymap
To use the macOS tab-switching shortcuts on Linux, go to Settings > Keymap and set:
- Main Menu > Window > Editor Tabs > Select Next Tab:
Alt+Shift+] - Main Menu > Window > Editor Tabs > Select Previous Tab:
Alt+Shift+[
How to turn off the alert sound (Alert)
- Is there a way to turn off the alert bell? – Rider Support | JetBrains
- How to turn off the bell sound in Intellij - Super User
Is it an ideaVIM issue? Not really sure, but
So in your ~/.ideavimrc, you can use the following:
Excluding venv files from Find in Files search
When using Pycharm, searching with Find in Files sometimes also searched the contents under the venv folder, which was inconvenient. I looked for a way to exclude it and found one.
- The first way: right-click the
.venvfolder and select "Mark Directory as > Excluded". - The second way: go to the "Settings > Project > Project Structure" menu and set "Exclude files" to
.venv.
Settings
Hiding parameter names (hints)
Hiding the code author (Code Author)
Hiding the symbol usages count
PyCharm CE setup
- For auto-completion, mark the
coredirectory asSources Root- Hover the mouse cursor over the directory and right-click.
- Select the
Mark Directory as > Sources Rootmenu.
- For auto-completion, mark the
core/reccdirectory asNamespace package- Hover the mouse cursor over the directory and right-click.
- Select the
Mark Directory as > Namespace packagemenu.
- Show whitespace characters.
- Go to
Editor > General > Appearance. - Check all the
Show whitespacescheckboxes. - Check the
Show line numberscheckbox. - Check the
Shoiw indent guidescheckbox.
- Go to
- Register dictionary words for the Spell Checker.
- Install the
Dictionaryplugin. - In
Editor > Proofreading > Spelling, add theproject.dicfile toCustom dictionaries.
- Install the
- Use black as the Python code formatter. Change the
Code Stylefor it- In
Settings > Editor > Code Style > Python, changeContinuation indenton theTabs and Indentstab to4.
- In
- Fix the line length at 88 characters.
- In
Editor > General > Appearance, selectShow hard wrap and visual guides (configured in Code Style options). - In
Editor > Code Style > Python, changeHard wrap aton theWrapping and Bracestab to88.
- In
- Select the Python Interpreter.
- Go to
Project: recc > Python Interpreter. - Select your Python environment. (Virtual environment recommended)
- Go to
PyCharm Pro setup
- Disable code duplication checks.
- Go to
Settings > Editor > Duplicates. - Uncheck the
Pythoncheckbox.
- Go to
- Disable reference errors when using SQL foreign keys (Foreign key).
- Go to
Settings > Editor > Inspections. - Uncheck the
SQL > Unresolved referencecheckbox.
- Go to
Turning off single-click file opening
Go to "Settings > Editor > General > Editor Tabs" and uncheck the "Enable Preview tab" checkbox in the "Opening Policy" section.
HTML http warning
Add the following comment right before the tag containing the code.
Directories under your control
IntelliJ_-_mark_directory.png
- Mark directory as Excluded: excludes it from the project.
- Mark directory as Library files: treats it as a library directory. However, it prevents symbol/class/file indexes from being built.
Adding a specific local JAR file as a dependency
- Maven -> pom.xml#Adding a specific local JAR file as a dependency
- Apache Ant -> build.xml#Adding a specific local JAR file as a dependency
- Gradle -> build.gradle#Adding a specific local JAR file as a dependency
In an eclipse project, the .classpath file contains the following entry.
How to configure the equivalent in intellij:
- Open the project structure
- Select "File > Project Structure..." from the IntelliJ menu or use the shortcut
Ctrl+Alt+Shift+Sto open the project structure window.
- Select "File > Project Structure..." from the IntelliJ menu or use the shortcut
- Select "Modules" in the left menu, select the module name, and go to the "Dependencies" tab.
- Click the "+" button on the right, then select "JARs or Directories...".
- Navigate to the path of the JAR file used in Eclipse (e.g.
lib/mseo-common_1.0.0.jar) and select the file. - IntelliJ adds this JAR file as a library of the project.
- Press "Apply" and "OK" to save the settings.
IntelliJ_-_Add_JAR.png
Plugins
- Key Promoter X
- Whenever you click any button in the IDE with the mouse, shows the keyboard shortcut you could use instead
- For buttons without a shortcut, the plugin suggests assigning one
- Helps reduce reliance on the mouse and code faster
- Codota
- AI-based code completion suggestions
- Makes code completion suggestions more relevant, further speeding up coding
- PyCharm has AiXCoder, which supports various languages such as Python/JavaScript/TypeScript
- Randomness
- A handy plugin when you need to enter arbitrary data during development
- Inserts random numbers, strings, UUIDs, etc. via shortcuts
- Should be useful in situations such as writing test code
- Presentation Assistant
- A handy plugin for IDE-based presentations at events or for pair programming
- Displays the shortcuts being used so the audience can easily follow the presenter's actions
Documentation
- CLion, Reference Card For Mac (Keymap)
-
CLion-ReferenceCardForMac-Keymap.pdf
Troubleshooting
I just see a grey window, nothing happens in xmonad
When I start intelliJ idea in Xmonad, I just see a grey window, nothing happens. Did anybody have success with this combination.
Yep, xmonad and Java swing application's don't play well with the default config. You'll need to set your WM name to "LG3D" for Java Swing apps to work. The easiest way to add a call to setWMName "LG3D" in your startupHook like this:
IDEA-78860
- IDEA-78860 Keyboard input sometimes is blocked when IBus is active
- Stackoverflow: Android Studio - IBus prior to 1.5.11 may cause input problems. See IDEA-78860 for details
The following problem may occur.
Add the following to ~/.profile.
| Warning |
| However, with this change, Korean input may not work properly. |
IntelliJ global environment variable
- fix PATH environment variable for IntelliJ IDEA on Mac OS X
- ${env.JAVA_HOME}: maven, intelliJ IDEA and Mavericks
- Setting global environment variables in IntelliJ IDEA and other test config goodies
On macOS, using launchctl as shown below sets environment variables that IntelliJ IDEA uses globally. This can be used, for example, for environment variables needed to locate the LUA SDK.
SQL dialect is not
In Setting - Project Setting - SQL Dialects, select the DBMS you use in the SQL Dialect field (the part marked with a red rectangle on the screen).
Cannot determine Java VM executable in selected JDK
- Stackoverflow - What's the reason for “Error:Cannot determine Java VM executable in selected JDK”?
- Error:Cannot determine Java VM executable in selected JDK
Black screen in dwm
cannot resolve scss file vue-component
When using vue-component in WebStorm-family IDEs, if an @import statement in scss gives a Cannot resolve file ... error:
In this menu, change Detect webpack configuration files for module resolution to Automatically, then run webpack when its run dialog appears.
Missing default translation file
Applying i18n to an SFC using vue-i18n-loader shows that warning. If you installed the i18n support plugin, just remove it.
Dynamic Problems not being checked
Check this when problems in the code are not checked live while editing.
As shown in the following images, if Highlight level is Syntax or None, click it and change it to All Problem.
| | | |
Highlight level stuck at Syntax
- Since updating to 2020.3 highlighting level always defaults to Syntax not "all problems" – IDEs Support (IntelliJ Platform) | JetBrains
- Reader mode | PyCharm
If Highlight level is stuck at Syntax as in the following image:
Intellij_reader_mode_screenshot.png
To change it to All Problem, press Shift+Ctrl+Alt+H or left-click the green check mark.
To change the default option, turn off Reader Mode. To turn it off, uncheck Settings > Editor > Reader Mode > Enable Reader Mdoe.
ESC key suddenly stops working in ideaVim
A bug occurs in ideaVim version 2.6.x. I downloaded and installed 2.5.1 manually.
Integrating Nunjucks files using Twig
- nunjuks templating language – IDEs Support (IntelliJ Platform) | JetBrains
- syntax highlighting - Integrating Nunjucks with IntelliJ IDEA / Webstorm - Stack Overflow
Configure a custom extension with Twig files. It's a template engine with similar syntax (but for PHP).
- add Twig Support plugin if necessary
- Go to
Settings -> Editor -> FileTypes and add find Twig - Add the custom pattern
*.njk.
Ctrl+P (Parameter Info) suddenly stops working
This happens right after a PyCharm update.
Go to Settings > Keymap and type Parameter in the search box. Clicking Add Keyboard Shortcut shows the conflicting action. Turn off that shortcut.
In my case, Show Hide Path Input was conflicting.
Screen cannot be clicked when a Breakpoint is hit while running in Debugging Mode on the Linux version
| WARNING |
| The exact cause has not been identified yet. |
With x11, pygame with pyimgui, it fails if a breakpoint is hit right away while the main rendering loop of a particular screen (one that needs to be refreshed) has not run even once (with no screen refresh). The loop has to run at least once.
The problem also seems to occur when the debugger hits right after a button click event (a window focus change).
So debugging must be done in the following order.
- In the application (being debugged), go to the screen you want to debug.
- Switch to the PyCharm editor screen.
- Set the Breakpoint (it should be hit as soon as it is set)
The last part is important: there must be no focus switch between PyCharm and the application.
There is a related option: in the Settings screen, select the "Build, Execution, Deployment -> Debugger" tree item, and "Focus application on breakpoint" switches focus automatically, but turning it off still produced the same issue.
If the program does not exit, press F9 to Continue.
Initialization error (ESLint). Object.hasOwn is not a function
See Node.js#Initialization error (ESLint). Object.hasOwn is not a function for details.
In short, it is a nodejs version problem.
Go there and set the node path, or upgrade the version.
Unknown at-rule
If at-rules such as @theme show errors in *.css files, it is most likely a PostCSS issue.
Make *.css files recognized as PostCSS files. In "Settings > Editor > File Types", add *.css to the PostCSS entry.
If you don't want to add it, change the extension of the file with errors to pcss.
See also
Favorite site
How to use
Tip
- Replacing Postman with IntelliJ's .http
- dlsniper/docker-intellij (Docker image for IntelliJ IDEA Community, Go and Go plugin)
References
- Apache Ant
- Apache Maven
- Build.gradle
- Build.xml
- Cache Busting
- Dwm
- ESLint
- GoLand
- Gradle
- IDEA
- Idea
- IDEA (IKEA)
- Idea-spell-check
- IdeaVim
- Integrated Development Environment
- Java
- Linux:Basic
- Machine learning
- MachineLearning:Course:Python
- Nunjucks
- OpenCV:Troubleshooting
- Pair programming
- PEP 484
- Pom.xml
- Positron
- Programming
- Programming:Basic
- PyCharm:Inspections
- Pydevd
- Pydevd-pycharm
- Python
- Python:ensurepip
- Python:Libraries
- Scripton
- SolutionStack:FullStackDeveloper:Curriculum
- Source code editor
- Spyder
- Tailwind CSS
- Twig
- TypeScript
- TypeScript:asserts
- Vue I18n
- Vue.js
- WxPython