INTEGRATED DEVELOPMENT ENVIRONMENTS (IDES)
IntelliJ IDEA
Date Published: | |
Last Modified: |
Quick Reference
Description | Shortcut | Comment |
---|---|---|
Compile/Run/Debug | ||
Make Project | Ctrl-F9 (Windows) | You can change the project settings to that artefacts (such as .jar files) are generated at the same time as make. |
Run (without debugging) | Shift-F10 (Windows) Ctrl-R (Mac) | Runs the last active configuration. Debugging IS NOT enabled. |
Run (with debugging) | Shift-F9 (Windows) Ctrl-D (Mac) | Runs the last active configuration. Debugging IS enabled. Note that IdeaVim on Mac can override the Ctrl-D shortcut to jump down half a page. |
Step Over | F8 (Windows) | Use to "step over" current line of code when debugging. Step-over is one of the most commonly used debug features. |
Step Into | F7 (Windows) | Use to "step into" the current line of code while debugging. This will enter the method (if any) on the current line of code. |
Resume Program | Cmd-Alt-R (Mac) | Continue running the program if it has been paused while debugging. |
View | ||
Show Project Window | Alt-1 (Windows) | Shows the file structure of the project (by default this on the left-hand side of the screen). |
Show Code Structure Window | Alt-7 (Windows) | This gives a great overview of the class inside the current file (e.g. it lists all the variables and methods). |
Quick Documentation | Ctrl-Q (Windows) | Great for checking up on what a class or method does as you are about to use it. |
Code | ||
Reformat Code | Ctrl-Alt-L (Windows) | Corrects the coding indentation of the current file. Great for automatically tidying up code after serious refactoring has taken place. |
vim Plugin
IntelliJ supports the IdeaVim plugin which adds vim-like functionality to the IDE.
This plugin support configuration using a ~/.ideavimrc
file, which is similar in format to a typical .vimrc
file, except that it allows special extensions to directly control IntelliJ through an API.
I have noticed that IdeaVim cannot deal with large files that well (e.g. a 50,000 line .json
file), and I have to disable the plugin to be able to work with these files.
