Dive into JetBrains IDEs
- Appearance: Darcula
- Color Scheme: Colorful Darcula
- Color Scheme Font: 24 for 13-inch display
I use Sublime Text keymap with a few tweaks:
- Basic completion: Tab. With the auto formatting function, I do not need to use Tab to indent. Thus Tab can be used to trigger completion. And when the completions pop up, I can press Tab again to confirm the completion candicate, very convinient.
- Find Action: the ultimate keyboard shortcut deserves F1 (inspired by vscode)
- Rename variable name: F2 is used for renaming file names in most file managers and renaming variables in vscode. For consistency, I also removed
Ctrl+F2 for toggling bookmark, and bind
Ctrl+F2 to introducing variables,
Shift+F2 to inline variables,
Ctrl+Shift+F2 to introduce constants,
Alt+F2 to introduce functions (extract methods).
- Go to declaration or usage: F4 since this powerful navigation includes the function of "go to source".
- Quick documentation: F5 is near F4 (jump to source). I have poor memory and check documentation and source frequently.
- Go to symbol: F6 goes to address bar in web browsers. Thus I use F6 to navigate. And F6 is near F5 (go to documentation) and F4 (go to source). The default three-key combo (ctrl+shift+R) is too hard to remember and type.
- Find usage: F7 since it is consistent with
Ctrl+F7 (find usage in current file). Although F4 can go find usages at the declaration , sometimes I still want to find other usages when not at the declaration.
- Last edit location: F8 since it is near F9.
- Toggle bookmark: F9 inspired by Yin Wang. I also set alt/ctrl/shift + F9 to show/next/previous bookmark. P.S. F2 - F9 are all used for navigation.
- Terminal: F12 since I use terminal a lot and already bind go to declaration/usage to F4. Why not keep the default? Because I want all navigation related actions are in nearby keys (F2-F9). Also, F12 in web browser opens the console.
- Complete Current Statement: C-Enter since I used it far more frequently than inserting a new line.
I bind frequently used actions to F keys, so they are easier to reach.
The "Sublime" field refers to the default keyboard shorts for the real Sublime Text editor, not the Sublime Text keymap for JetBrains IDEs.
| Key | Default | Sublime | Me | Rationale |
| - | - | - | - | - | - |
| F1 | help | n/a | find action | inspired by vscode |
| F2 | next error | next bookmark | refactor: rename | inspired by file managers and vscode |
| F3 | next occurrence | next occurrence | next occurrence | convention |
| F4 | jump to source | next results in find all | go to declaration/usage | more powerful than "jump to source" |
| F5 | refactor: copy | n/a | quick documentation | near F4 |
| F6 | refactor: move | toggle spell check | go to symbol | inspired by go to address bar in web browser |
| F7 | debug: step into | build | find usage | consistent with
Ctrl+F7 (find usage in current file) |
| F8 | debug: step out | n/a | last edit location | near F9 |
| F9 | debug: resume | sort lines | toggle bookmark | Inspired by Yin Wang. |
| F10 | menu (os) | menu (os) | menu (os) |
| F11 | toggle fullscreen | toggle fullscreen | toggle fullscreen | convention |
| F12 | go to declaration/usage | go to definition | terminal | Already bind go to declaration/usage to F4 and inspired by web browser (F12 for the console). |
Other Tweaks #
- Editor > General > Code Completion: enable "sort completion suggestions based on machine learning".
- Tools > Terminal > Application Settings > Shell path: change from