Keyboard Shortcuts: Keymaps Comparison (macOS)
Among all of the predefined keymaps, you will most probably choose one of the following:
- Visual Studio — this keymap is recommended for users who:
- have no experience with other IDEs;
- have experience with plain Visual Studio;
- have experience with Visual Studio + ReSharper and who preferred the 'Visual Studio' keyboard scheme in ReSharper.
- ReSharper — this keymap is recommended for users who have experience with Visual Studio + ReSharper and who preferred the 'ReSharper 2.x/IntelliJ IDEA' keyboard scheme in ReSharper.
- Rider — this keymap is recommended for users who have experience with some of the JetBrains IntelliJ-platform-based IDEs and who preferred to use the 'Default' keymap there.
Note that Rider also includes the 'Default' keymap. However, the 'Rider' keymap, which is based on 'Default', additionally includes Rider-specific key bindings.
Rider's top keyboard shortcuts
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Open Solution or Project | ⌘+⇧+O | ⌘+⇧+O | |
Open File or Folder | ⌘+O | ⌘+O | |
Show Action List | ⌥+Enter | ⌥+Enter | ⌥+Enter |
Search Everywhere | ⌘+T Double-⇧ | ⌘+N Double-⇧ | Double-⇧ |
Navigate To… | ⌥+' | ⌘+⇧+G | ⌥+' |
Find Usages | ⇧+F12 | ⌥+F7 | ⌥+F7 |
Select In... | ⌥+F1 | ⌥+F1 | ⌥+F1 |
Settings... | ⌘+, | ⌘+, | ⌘+, |
Generate... | ⌥+Insert | ⌥+Insert | ⌘+N ^+Enter |
Build Solution | ⌘+⇧+B | ⌘+⇧+B | ⌘+F9 |
Debug... | ^+⌥+D | ^+⌥+D | ^+⌥+D |
View Breakpoints... | ⌘+⌥+B | ⌘+⇧+F8 | ⌘+⇧+F8 |
Attach to Local Process... | ⌘+⌥+P | ^+⌥+F5 | ^+⌥+F5 |
VCS Operations Popup... | ^+V | ^+V | ^+V |
Refactor This... | ⌘+⇧+R | ⌘+⇧+R | ^+T |
Inspect This... | ⌘+⌥+⇧+A | ⌘+⌥+⇧+A | ⌘+⌥+⇧+A |
Code Cleanup... | ⌘+E, C ⌘+E, ⌘+C | ⌘+⌥+F |
Finding everything
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Find... | ⌘+F | ⌘+F | ⌘+F |
Find Next / Move to Next Occurrence | F3 ⌘+⌥+Page Down | F3 ⌘+⌥+Page Down | ⌘+G |
Find Previous / Move to Previous Occurrence | ⇧+F3 ⌘+⌥+Page Up | ⇧+F3 ⌘+⌥+Page Up | ⌘+⇧+G |
Replace... | ⌘+H | ⌘+H | ⌘+R |
Find in Path... | ⌘+⇧+F | ⌘+⇧+F | ⌘+⇧+F |
Find in Path... | ⌘+⇧+F | ⌘+⇧+F | ⌘+⇧+F |
Find Word at Caret | ⌘+F3 | ⌘+F3 | |
Search Everywhere | ⌘+T Double-⇧ | ⌘+N Double-⇧ | Double-⇧ |
File... | ⌘+⇧+T | ⌘+⇧+N | ⌘+⇧+O |
File Member | ⌥+\ | ⌘+F12 | ⌘+F12 |
Symbol... | ⌘+⌥+⇧+T | ⌘+⌥+⇧+N | ⌘+⌥+O |
Navigating from symbols
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Declaration | F12 ⌘+Click | ⌘+B ⌘+Click Right-click | ⌘+B ⌘+Click Right-click |
Type Declaration | ⌘+⇧+F11 ⌘+⇧+Click ⇧+Right-click | ⌘+⇧+T ⌘+⇧+Click ⇧+Right-click | ⌘+⇧+B ^+⇧+B ⌘+⇧+Click ⇧+Right-click |
Show Usages | ⌥+⇧+F12 | ⌘+⌥+F7 | ⌘+⌥+F7 |
Base Symbols | ⌥+Home ^+⌥+Left | ⌘+U | ⌘+U |
Go To Implementation | ⌘+F12 ^+⌥+Click | ⌘+⌥+⇧+B ^+⌥+Click | ⌘+⌥+⇧+B ^+⌥+Click |
Derived Symbols | ⌥+End ⌘+⌥+Click | ⌘+⌥+B ⌘+⌥+Click | ⌘+⌥+B ⌘+⌥+Click |
Navigate To… | ⌥+' | ⌘+⇧+G | ⌥+' |
Find Usages | ⇧+F12 | ⌥+F7 | ⌥+F7 |
Highlight Usages in File | ⌥+⇧+F11 | ⌘+⇧+F7 | ⌘+⇧+F7 |
Context navigation
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Move Caret to Code Block Start | ⌘+[ | ⌘+[ | ⌘+⌥+[ |
Next Method | ^+Down | ^+Down | ^+Down |
Previous Method | ^+Up | ^+Up | ^+Up |
Line/Column... | ⌘+G | ⌘+G | ⌘+L |
Select In... | ⌥+F1 | ⌥+F1 | ⌥+F1 |
Locate in Solution Explorer | ⌥+⇧+L | ⌥+⇧+L | ⌥+⇧+L |
Recent Files | ^+, | ⌘+E | ⌘+E |
Recently Changed Files | ⌘+⇧+, | ⌘+⌥+⇧+Backspace | ⌘+⇧+E |
Last Edit Location | ⌘+⇧+Backspace | ⌘+⇧+Backspace | ⌘+⇧+Backspace |
Back | ⌘+Minus ⌘+NumPad Minus Mouse Back | ⌘+Minus ⌘+NumPad Minus Mouse Back | ⌘+[ ⌘+⌥+Left Mouse Back |
Forward | ⌘+⇧+Minus ⌘+⇧+NumPad Minus Mouse Forward | ⌘+⇧+Minus ⌘+⇧+NumPad Minus Mouse Forward | ⌘+] ⌘+⌥+Right Mouse Forward |
Add to Favorites | ⌥+⇧+F | ⌥+⇧+F | ⌥+⇧+F |
Show Structure window | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 |
Show Find window | ⌘+3 ⌘+⌥+F12 | ⌘+3 ⌘+⌥+U | ⌘+3 |
Show TODO window | ⌘+6 | ⌘+6 | ⌘+6 |
Show Favorites window | ⌘+2 | ⌘+2 | ⌘+2 |
Code Analysis
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Show Action List | ⌥+Enter | ⌥+Enter | ⌥+Enter |
Next Code Issue | ⌥+Page Down | ⌥+Page Down | F2 |
Previous Code Issue | ⌥+Page Up | ⇧+F12 | ⇧+F2 |
Next Error | ⌥+⇧+Page Down | ⌥+F12 | ⌥+F12 |
Previous Error | ⌥+⇧+Page Up | ⌥+⇧+F12 | ⌥+⇧+F12 |
Toggle Code Inspection | ⌘+⌥+⇧+8 ^+⌥+⇧+8 | ⌘+⌥+⇧+8 ^+⌥+⇧+8 | ⌘+⌥+⇧+8 |
Toggle Code Inspection | ⌘+⌥+⇧+I | ⌘+⌥+⇧+I | ⌘+⌥+⇧+I |
Inspect This... | ⌘+⌥+⇧+A | ⌘+⌥+⇧+A | ⌘+⌥+⇧+A |
Show Errors in Solution window | ⌘+^+2 | ⌘+^+2 | ⌘+^+2 |
Show Inspection Results window | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 |
Creating and editing code
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Select All | ⌘+A | ⌘+A | ⌘+A |
Move Caret to Previous Word with Selection | ⌥+⇧+Left | ⌥+⇧+Left | ⌥+⇧+Left |
Move Caret to Next Word with Selection | ⌥+⇧+Right | ⌥+⇧+Right | ⌥+⇧+Right |
Move Caret to Page Top with Selection | ⌘+⇧+Page Up | ⌘+⇧+Page Up | ⌘+⇧+Page Up |
Move Caret to Page Bottom with Selection | ⌘+⇧+Page Down | ⌘+⇧+Page Down | ⌘+⇧+Page Down |
Extend Selection | ⌘+⌥+Right ⌘+W | ⌘+W | ⌥+Up |
Shrink Selection | ⌘+⌥+Left ⌘+⇧+W | ⌘+⇧+W | ⌥+Down |
Add Selection for Next Occurrence | ^+G | ^+G | ^+G |
Copy | ⌘+C ⌘+Insert | ⌘+C ⌘+Insert | ⌘+C ⌘+Insert |
Cut | ⌘+X ⇧+Delete ⌘+L | ⌘+X ⇧+Delete ⌘+L | ⌘+X ⇧+Delete |
Paste | ⌘+V ⇧+Insert | ⌘+V ⇧+Insert | ⌘+V ⇧+Insert |
Paste Simple | ⌘+⌥+⇧+V | ⌘+⌥+⇧+V | ⌘+⌥+⇧+V |
Paste from History... | ⌘+⇧+V ⌘+⇧+Insert | ⌘+⇧+V ⌘+⇧+Insert | ⌘+⇧+V ⌘+⇧+Insert |
Duplicate Line or Selection | ⌘+D | ⌘+D | ⌘+D |
Copy Paths | ⌘+⇧+C | ⌘+⇧+C | ⌘+⇧+C |
Save All | ⌘+⇧+S | ⌘+⇧+S | ⌘+S |
Undo | ⌘+Z | ⌘+Z | ⌘+Z |
Indent Selection | Tab | Tab | Tab |
Unindent Line or Selection | ⇧+Tab | ⇧+Tab | ⇧+Tab |
Move Line Up | ⌥+⇧+Up | ⌥+⇧+Up | ⌥+⇧+Up |
Move Line Down | ⌥+⇧+Down | ⌥+⇧+Down | ⌥+⇧+Down |
Toggle Case | ⌘+⇧+U | ⌘+⇧+U | ⌘+⇧+U |
Scratch File | ⌘+⇧+N | ⌘+⇧+N | ⌘+⇧+N |
Coding assistance
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Show Action List | ⌥+Enter | ⌥+Enter | ⌥+Enter |
Basic | ^+Space ^+J | ^+Space | ^+Space |
SmartType | ^+⌥+Space | ^+⇧+Space | ^+⇧+Space |
Class Name Completion | ⌥+⇧+Space | ^+⌥+Space | ^+⌥+Space |
Complete Current Statement | ⌘+⇧+Enter | ⌘+⇧+Enter | ⌘+⇧+Enter |
Parameter Info | ⌘+⇧+Space | ⌘+P | ⌘+P |
Quick Documentation | ^+⇧+F1 | ^+Q | F1 ^+J ^+Right-click |
Move Statement Up | ^+⌥+⇧+Up | ^+⌥+⇧+Up | ⌘+⇧+Up |
Move Statement Down | ^+⌥+⇧+Down | ^+⌥+⇧+Down | ⌘+⇧+Down |
Move Statement Left | ^+⌥+⇧+Left | ^+⌥+⇧+Left | ^+⌥+⇧+Left |
Move Statement Right | ^+⌥+⇧+Right | ^+⌥+⇧+Right | ^+⌥+⇧+Right |
Comment with Line Comment | ⌘+⌥+/ ⌘+⌥+NumPad / ⌘+K, C ⌘+K, ⌘+C | ⌘+/ ⌘+NumPad / | ⌘+/ ⌘+NumPad / |
Comment with Block Comment | ⌘+⇧+/ ⌘+⇧+NumPad / | ⌘+⇧+/ ⌘+⇧+NumPad / | ⌘+⌥+/ ⌘+⌥+NumPad / ^+⇧+/ ^+⇧+NumPad / ⌘+⇧+/ ⌘+⇧+NumPad / ⌘+⇧+NumPad / |
Generate... | ⌥+Insert | ⌥+Insert | ⌘+N ^+Enter |
Code Cleanup... | ⌘+E, C ⌘+E, ⌘+C | ⌘+⌥+F | |
Silent Code Cleanup | ⌘+E, F ⌘+E, ⌘+F | ⌘+⌥+⇧+F |
Building, Running, and Debugging
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
NuGet Quick List | ⌥+⇧+N | ⌥+⇧+N | ⌥+⇧+N |
Build Solution | ⌘+⇧+B | ⌘+⇧+B | ⌘+F9 |
Run context configuration | ⌘+F5 | ⌘+F5 | ^+⇧+R |
Run... | ⌘+⌥+⇧+R | ⌘+⌥+⇧+R | ^+⌥+R |
Debug context configuration | F5 | F5 | ^+D |
Debug... | ^+⌥+D | ^+⌥+D | ^+⌥+D |
Stop | ⇧+F5 | ⇧+F5 | ⌘+F2 |
Resume Program | F5 | F5 | ⌘+⌥+R F9 |
Step Over | F10 | F10 | F8 |
Force Step Over | ⌥+⇧+F8 | ⌥+⇧+F8 | ⌥+⇧+F8 |
Step Into | F11 | F11 | F7 |
Force Step Into | ⌥+F11 | ⌥+F11 | ⌥+⇧+F7 |
Step Out | ⇧+F11 | ⇧+F11 | ⇧+F8 |
Run to Cursor | ⌘+F10 | ⌘+F10 | ⌥+F9 |
Force Run to Cursor | ⌘+⌥+F9 | ⌘+⌥+F9 | ⌘+⌥+F9 |
Set Next Statement | ⌘+⇧+F10 | ⌘+⇧+F10 | ⌘+⌥+⇧+F9 |
Show Execution Point | ⌥+NumPad * ⌘+L | ⌥+NumPad * ⌘+L | ⌥+F10 |
Toggle Line Breakpoint | F9 | F9 | ⌘+F8 |
Toggle Temporary Line Breakpoint | ⌘+⌥+⇧+F8 | ⌘+⌥+⇧+F8 | ⌘+⌥+⇧+F8 |
Toggle Breakpoint Enabled | ⌘+F9 | ⌘+F9 | ⌘+⇧+F9 |
View Breakpoints... | ⌘+⌥+B | ⌘+⇧+F8 | ⌘+⇧+F8 |
Edit breakpoint | ⌥+F9 | ⌥+F9 | ⌘+⇧+F8 |
Attach to Local Process... | ⌘+⌥+P | ^+⌥+F5 | ^+⌥+F5 |
Evaluate Expression... | ⌥+F8 | ⌥+F8 | ⌥+F8 |
Quick Evaluate Expression | ⇧+F9 | ⇧+F9 | ⌘+⌥+F8 ⌥+Click |
Show Build window | ⌘+0 | ⌘+0 | ⌘+0 |
Show Run window | ⌘+4 | ⌘+4 | ⌘+4 |
Show Debug window | ⌘+5 | ⌘+5 | ⌘+5 |
Show NuGet window | ⌘+7 ⌘+⇧+7 | ⌘+7 ⌘+⇧+7 | ⌘+7 ⌘+⇧+7 |
Refactorings
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Refactor This... | ⌘+⇧+R | ⌘+⇧+R | ^+T |
Change Signature... | ⌘+R, S ⌘+R, ⌘+S | ⌘+F6 | ⌘+F6 |
Inline... | ⌘+R, I ⌘+R, ⌘+I | ⌘+⌥+N | ⌘+⌥+N |
Move... | ⌘+R, O ⌘+R, ⌘+O | F6 | F6 |
Method... | ⌘+R, M ⌘+R, ⌘+M | ⌘+⌥+M | ⌘+⌥+M |
Field... | ⌘+R, F ⌘+R, ⌘+F | ⌘+⌥+D | ⌘+⌥+F |
Parameter... | ⌘+R, P ⌘+R, ⌘+P | ⌘+⌥+P | ⌘+⌥+P |
Variable... | ⌘+R, V ⌘+R, ⌘+V | ⌘+⌥+V | ⌘+⌥+V |
Rename... | ⌘+R, R ⌘+R, ⌘+R | F2 | ⇧+F6 |
Safe Delete... | ⌘+R, D ⌘+R, ⌘+D ⌥+Delete | ⌥+Delete | ⌘+Delete |
Global VCS actions
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
VCS Operations Popup... | ^+V | ^+V | ^+V |
Show Version Control window | ⌘+9 ⌘+⇧+9 | ⌘+9 ⌘+⇧+9 | ⌘+9 ⌘+⇧+9 |
Commit | ⌘+⌥+K | ⌘+K | ⌘+K |
Update Project | ⌘+⌥+W | ⌘+⌥+W | ⌘+T |
Revert | ⌘+⌥+Z | ⌘+⌥+Z | ⌘+⌥+Z |
Push... | ⌘+⇧+K | ⌘+⇧+K | ⌘+⇧+K |
Next Change | ⌘+⌥+⇧+N | ⌘+⌥+⇧+N | ^+⌥+⇧+Down |
Previous Change | ⌘+⌥+⇧+P | ⌘+⌥+⇧+P | ^+⌥+⇧+Up |
Unit Testing
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Run Unit Tests | ⌘+U, R ⌘+U, ⌘+R | ⌘+T, R ⌘+T, ⌘+R | ⌘+;, R ⌘+;, ⌘+R |
Debug Unit Tests | ⌘+U, D ⌘+U, ⌘+D | ⌘+T, D ⌘+T, ⌘+D | ⌘+;, D ⌘+;, ⌘+D |
Repeat Previous Run | ⌘+U, U ⌘+U, ⌘+U | ⌘+T, T ⌘+T, ⌘+T | ⌘+;, T ⌘+;, ⌘+T |
Run All Tests from Solution | ⌘+U, L ⌘+U, ⌘+L | ⌘+T, L ⌘+T, ⌘+L | ⌘+;, L ⌘+;, ⌘+L |
Create New Session | ⌘+U, N ⌘+U, ⌘+N | ⌘+T, N ⌘+T, ⌘+N | ⌘+;, N ⌘+;, ⌘+N |
Append Tests to Session | ⌘+U, A ⌘+U, ⌘+A | ⌘+T, A ⌘+T, ⌘+A | ⌘+;, A ⌘+;, ⌘+A |
Run Current Session | ⌘+U, Y ⌘+U, ⌘+Y | ⌘+T, Y ⌘+T, ⌘+Y | ⌘+;, Y ⌘+;, ⌘+Y |
Show Unit Tests window | ⌘+8 ⌘+⇧+8 | ⌘+8 ⌘+⇧+8 | ⌘+8 ⌘+⇧+8 |
Tool Windows
Command | Visual Studio OSX | ReSharper 2.x OSX | Rider OSX |
---|---|---|---|
Build | ⌘+0 | ⌘+0 | ⌘+0 |
Solution | ⌘+⌥+L ⌘+1 | ⌘+1 | ⌘+1 |
Favorites | ⌘+2 | ⌘+2 | ⌘+2 |
Find | ⌘+3 ⌘+⌥+F12 | ⌘+3 ⌘+⌥+U | ⌘+3 |
Run | ⌘+4 | ⌘+4 | ⌘+4 |
Debug | ⌘+5 | ⌘+5 | ⌘+5 |
TODO | ⌘+6 | ⌘+6 | ⌘+6 |
NuGet | ⌘+7 ⌘+⇧+7 | ⌘+7 ⌘+⇧+7 | ⌘+7 ⌘+⇧+7 |
Unit Tests | ⌘+8 ⌘+⇧+8 | ⌘+8 ⌘+⇧+8 | ⌘+8 ⌘+⇧+8 |
Version Control | ⌘+9 ⌘+⇧+9 | ⌘+9 ⌘+⇧+9 | ⌘+9 ⌘+⇧+9 |
Terminal | ⌘+^+1 | ⌘+^+1 | ⌘+^+1 |
Errors In Solution | ⌘+^+2 | ⌘+^+2 | ⌘+^+2 |
Database | ⌘+^+3 | ⌘+^+3 | ⌘+^+3 |
Inspection Results | ⌘+^+4 ⌘+⌥+V | ⌘+^+4 ⌘+⌥+, | ⌘+^+4 |
Structure | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 ⌘+⌥+F | ⌘+^+7 |
Last modified: 27 December 2017