Webstorm/Intelij - useful shortcuts and features with screenshots

Many keywords For Intelij13 should also work for Webstorm.
In every keyword I specified how often I use that keyword.

Actions


alt + enter - show window with many useful features. You can press it on any line (class, import, variable, string etc). For example if you press it on regex, you have Check Regex option. For variable you have introduce variable etc. Often












ctrl + shift+a - find action (shortcut). For example you want to format code but you don't remember shortcut. Sometimes



ctrl + f - find text. Often



ctrl + r - replace text. Often



alt+insert - add getters/setters/contructors. Also works in file window to add new file. Often




Navigation

ctrl + n - goto class. You can also specify line number e.g. Main:100. Often



ctrl + shift + n - similar to above but goto file. Often

ctrl + alt + shift + n - similar to above but goto symbol e.g. method. Often

shift + shift - search everywhere (classes, files, symbols. shortcuts etc). Sometimes



Usages

alt+f7 - show usages of selected symbol in entire project (method, variable, class etc) in new tab. Often



ctrl+f7 - like above but only for current file. Rare

ctrl + alt + f7 - like alt + f7, but show results in new popup. Rare







ctrl+shift+f7 - highlights current word in entire file. Press escape to cancel. What is interesting is that it works also for return, throws, extend and then it shows places where we return values or throws exceptions. Sometimes



ctrl+alt+h - call hierarchy (both directions). Press it on method. We can use it instead of using alt+f7 on each symbol.  Sometimes



ctrl + h - class hierarchy. Useful also if we want to check hierarchy of any Java class (open it first with  ctrl+n). Sometimes



Ctrl + Alt + B - goto implementation of method (goto class that implements interface instead of interface). Press it on method. Rare

Ctrl + U - go to super-method/super-class/interface.
For example for class FileImageInputStream extends ImageInputStreamImpl
it opens ImageInputStreamImpl. Rare

ctrl+[ or ctrl+] - go to beginning/end of block (goto to first { or }). Rare

ctrl+shift+t - goto unit tests. Also shows option to create new test. Rare

ctrl+shift+backspace- move cursor to last change position. Rare

ctrl + shift + f - search text in all files. Often



git/svn
ctrl + k -commit.Often



ctrl + t - update. Often
Alt + ` - popup with many useful features for git/svn like revert or show annotations. Often



collapse/expand
ctrl . - collapse selected block. Rare






ctrl -/+ - collapse/expand current method. Rare

 

ctrl + shift -+ - collapse/expand all methods. Rare



intelisense
ctrl + space - show intelisense. Press many times to show symbols from not imported or external classes. Press tab if you want to overwrite symbol or ! to add negation. Often

alt+/ - finish word. For example type str and press alt + / and will change to method name or any other words that you have in current file for example string. You can press it many times. Rare




ctrl + shift + space - intelligent intelisense  that shows only variable/methods that return correct type e.g. string. Press once again to look deeper. Sometimes




ctrl + shift + enter - closes block or statement e.g.
if (true == true -> if (true ==) { }
int a -> int a;
Also works in intelisense. Often

shift+enter - works like enter but doesn't break current line. Sometimes

alt + q - show declaration of class/method, something like "where we are". It can be useful if we have long method and we don't see beginning . Rare



bookmarks
f11 - add anonymous bookmark. Often




ctrl+shift+number (0-9) - add numeric bookmark. Sometimes




ctrl+number (0-9) - go to numeric bookmark. Sometimes

 ctrl + f11 - add numeric or letter bookmark. You can press number or letter. Rare




shift+f11 - show all bookmarks. You can press number or letter to go to specified bookmark. Sometimes




alt+shift+f - add to favorites. Rare




alt-2 - show favorites. Rare



refactoring
 Ctrl + alt + v – introduce variable. Input any expression e.g. new YourClass() and then press this shortcut. It will generate name and type of this variable. e.g.
YourClass yourClass = new YourClass()
Often

 ctrl+alt+shift+t - refactor this. Rare

 

debug
Alt + F8 – evaluate expression. Sometimes






Ctrl + alt + F8 - like Alt + F8 but shows immediately result of current expression. Press it on e.g. on variable. Sometimes

 

shift + f7 -intelligent smart into. It shows window where you want to jump. Useful if you want to omit getters/setters or constructors. Sometimes

windows
Alt + shift + c - recent changes. Rare



alt + number- show window that are on the bottom e.g. alt + 6 - changes. Rare
ctrl+f12 - structure window (methods and variables in current files). Works for many file types e.g. js, css. .Sometimes



ctrl+alt+f12 or ctrl + left mouse - shows file path of current file. Useful for jumping to explorer. Sometimes



f12 - opens last opened window. Rare
escape - focuses main window. Rare
shift+escape - hides selected window. Rare
alt + f1 - where do you want to open current file e.g. select file in structure window or open it in explorer. Rare



Ctrl+Shift+V - multi clipboard. Rare (I have external application to do that)



ctrl + e -recent files. Rare



ctrl + shift+e - recent edited files. Rare




alt+home - jumps to top file path. Rare



other
ctrl + d - duplicate line. Often
ctrl + y - remove line. Often
ctrl + j live templates for example for each. You can also type shortcut e.g. iter an press tab to create for each. Often (shortcuts like iter, fori)



ctrl + alt +t - surround with e.g. selected text with etry/catch. Sometimes



ctrl+shift+enter - finish expression by adding {}; e.g. type if and press shortcut. Often
ctrl + q or alt + middle mouse, press it on type or in intelisense to see documentation. Often



Ctrl+shift+I - you can see content of file in popup. Also works on intelisense or in navigation list like goto class/file. Sometimes



shift+f5 - clone class. Sometimes
shift+f6 - rename class/variable. Often
alt+mouse- block selection. Useful to edit many lines at once. Rare



alt+shift - add multi cursor. Rare
Useful to edit many lines at once



 Ctrl + Shift + Up/Down - smart move line or block up or down. You can move entire method or block like if. Sometimes
alt+shift+down/up - not smart move line up or down. Sometimes
f2 / shift+f2 - show next/previous warning in intelij. Rare
alt+shift+i - run default inspection. Sometimes



ctrl+shift+delete - delete external block. Useful if you want for example to delete if. Sometimes