IDE shortcuts are numerous and difficult to remember since quite often they do not have any associations and it may eventually seem like learning another language. In fact this is also a big problem for IDE developers because they need to search for a shortcut not yet occupied by another action and there is a very limited amount of possible combinations. Here is when abbreviations come into play. The idea is not knew, in some way it exists in Vi(m) but TypeNGo plug-in for Intellj IDEA, WebStorm and PhpStorm goes a bit further introducing a bunch of commands for smart code navigation, version control etc. What the plugin does is when you type Ctrl+\ (the only shortcut to remember), it shows a tiny dialog where you can type an abbreviation and shows a hint with available commands starting from the typed character. Once the abbreviation you continue typing matches one of predefined/your own ones, it starts the associated action. It is supposed to minimize typing, for example, no other navigations keys or Enter are needed.
TypeNGo plugin can be found here. Users of Intellij IDEA and related products can download it by going to Settings|Plugins|Browse Repositories and typing “TypeNGo”.
Some (not all) built-in abbreviations are:
- Starting with ‘g‘: navigation (go to) commands. For example, ‘gs’ stands for “go to symbol.
- ss: IDE settings.
- up: Update project from version control.
- pu: Push commits (Git)
- te: Show a terminal window
You can also define your own ones at Settings|Keymap. For that you choose an action you want to assign an abbreviation to, right click and choose “Add Abbreviation” item.
Theoretically (and maybe even practically) a similar plugin could be developed for other IDEs thus unifying a way to work with some common commands.
Let me know what you think. Any ideas are welcome.