Keyboard Shortcuts: Keymaps Comparison (macOS)
Among all of the predefined keymaps, you will most probably choose one of the following:
Visual Studio/ Visual Studio (macOS) — 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/ ReSharper (macOS) — 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.
IntelliJ/ IntelliJ (macOS) — this keymap is recommended for users who have experience with IntelliJ IDEA or some of the JetBrains IntelliJ-platform-based IDEs and who preferred to use the IntelliJ/ macOS keymap there.
To switch between keymaps, open the Keymap page of the IDE settings Ctrl+Alt+S, pick the desired keymap in the selector at the top of the page, and click Save.
When consulting this page and other pages in JetBrains Rider documentation, you can see keyboard shortcuts for the keymap that you use in the IDE — choose it using the selector at the top of a page.
![Keyboard shortcuts selector in the documentation Keyboard shortcuts selector in the documentation](https://resources.jetbrains.com/help/img/rider/2021.1/help_shortcuts_selector.png)
JetBrains Rider's top keyboard shortcuts
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Search Everywhere | Double ⇧ | Double ⇧ | Double ⇧ |
Find Action... | ⇧⌘A | ⇧⌘A | ⌃⇧A |
Open Solution or Project... | ⌃⇧O | ⌃⇧O | ⌃⇧O |
Open File or Folder... | ⌘O | ⌘O | N/A |
Show Intention Actions | ⌥⏎ | ⌥⏎ | ⌥⏎ |
Navigate To... | ⇧⌘G | ⇧⌘G | ⌃⇧G |
Recent Files | ⌃, | ⌘E | ⌃E |
Find Usages | ⇧F12 | ⌥F7 | ⌥F7 |
Select In... | ⌥F1 | ⌥F1 | ⌥F1 |
Settings... | ⌘, | ⌘, | ⌃⌥S |
Generate... | ⌃⌘N | ⌃⌘N | ⌘N |
Build Solution | ⇧⌘B | ⇧⌘B | ⌃F9 |
Debug... | ⌃⌥D | ⌃⌥D | ⌥⇧F9 |
View Breakpoints... | ⌥⌘B | ⇧⌘F8 | ⌃⇧F8 |
Attach to Process... | ⌥⌘P | ⌃⌥F5 | ⌃⌥F5 |
VCS Operations Popup... | ⌃V | ⌃V | ⌥` |
Refactor This... | ⇧⌘R | ⇧⌘R | ⌃⌥⇧T |
Inspect This... | ⌥⇧⌘A | ⌥⇧⌘A | ⌃⌥⇧A |
Reformat Code | ⌥⌘⏎ | ⌥⌘L | ⌃⌥L |
Code Cleanup... | ⌘E, C | ⌥⌘F | N/A |
Basic editing
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Cut | ⌘X | ⌘X | ⌃X |
Copy | ⌘C | ⌘C | ⌃C |
Paste | ⌘V | ⌘V | ⌃V |
Paste as Plain Text | ⌥⇧⌘V | ⌥⇧⌘V | ⌃⌥⇧V |
Paste from History... | ⇧⌘V | ⇧⌘V | ⌃⇧V |
Duplicate Line or Selection | ⌘D | ⌘D | ⌃D |
Copy Paths | ⇧⌘C | ⇧⌘C | ⌃⇧C |
Copy Reference | ⌥⇧⌘C | ⌥⇧⌘C | ⌃⌥⇧C |
Save All | ⇧⌘S | ⇧⌘S | ⌃S |
Undo | ⌘Z | ⌘Z | ⌃Z |
Redo | ⌘Y | ⌘Y | ⌃⇧Z |
Indent Selection | ⇥ | ⇥ | ⇥ |
Unindent Line or Selection | ⇧⇥ | ⇧⇥ | ⇧⇥ |
Start New Line | ⇧⏎ | ⇧⏎ | ⇧⏎ |
Start New Line Before Current | ⌘⏎ | ⌘⏎ | ⌃⌥⏎ |
Delete Line | ⇧⌘L | ⇧⌘L | ⌃Y |
Toggle Case | ⇧⌘U | ⇧⌘U | ⌃⇧U |
Scratch File | ⇧⌘N | ⇧⌘N | ⇧⌘N |
Open source in new window | ⇧F4 | ⇧F4 | ⇧F4 |
Show Whitespaces | ⌘R, W | N/A | N/A |
Soft-Wrap | ⌘E, W | N/A | N/A |
Caret navigation
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Move Caret to Previous Word | ⌥← | ⌥← | ⌃← |
Move Caret to Next Word | ⌥→ | ⌥→ | ⌃→ |
Move Caret to Line Start | ↖ | ↖ | ↖ |
Move Caret to Line End | ↘ | ↘ | ↘ |
Containing Declaration | ⌘[ | ⌘[ | ⌥⇧[ |
Move Caret to Matching Brace | ⌘] | ⌘] | ⌃⇧M |
Move Caret to Code Block Start | ⌥⌘[ | ⌥⌘[ | ⌃[ |
Move Caret to Code Block End | ⌥⌘] | ⌥⌘] | ⌃] |
Next Method | N/A | N/A | ⌥↓ |
Previous Method | ⌃↑ | ⌃↑ | ⌥↑ |
Move Caret to Page Top | ⌘⇞ | ⌘⇞ | ⌃⇞ |
Move Caret to Page Bottom | ⌘⇟ | ⌘⇟ | ⌃⇟ |
Page Up | ⇞ | ⇞ | ⇞ |
Page Down | ⇟ | ⇟ | ⇟ |
Move Caret to Text Start | ⌘↖ | ⌘↖ | ⌃↖ |
Move Caret to Text End | ⌘↘ | ⌘↘ | ⌃↘ |
Select text
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Select All | ⌘A | ⌘A | ⌃A |
Left with Selection | ⇧← | ⇧← | ⇧← |
Right with Selection | ⇧→ | ⇧→ | ⇧→ |
Move Caret to Previous Word with Selection | ⌥⇧← | ⌥⇧← | ⌃⇧← |
Move Caret to Next Word with Selection | ⌥⇧→ | ⌥⇧→ | ⌃⇧→ |
Move Caret to Line Start with Selection | ⇧↖ | ⇧↖ | ⇧↖ |
Move Caret to Line End with Selection | ⇧↘ | ⇧↘ | ⇧↘ |
Up with Selection | ⇧↑ | ⇧↑ | ⇧↑ |
Down with Selection | ⇧↓ | ⇧↓ | ⇧↓ |
Select Containing Declaration | ⌥⌘[ | ⌥⌘[ | ⌃⌥⇧[ |
Move Caret to Code Block Start with Selection | ⌥⇧⌘[ | ⌥⇧⌘[ | ⌃⇧[ |
Move Caret to Code Block End with Selection | ⌥⇧⌘] | ⌥⇧⌘] | ⌃⇧] |
Move Caret to Page Top with Selection | ⇧⌘↑ | ⇧⌘↑ | ⌃⇧⇞ |
Move Caret to Page Bottom with Selection | ⇧⌘↓ | ⇧⌘↓ | ⌃⇧⇟ |
Page Up with Selection | ⇧⇞ | ⇧⇞ | ⇧⇞ |
Page Down with Selection | ⇧⇟ | ⇧⇟ | ⇧⇟ |
Move Caret to Text Start with Selection | ⇧⌘↖ | ⇧⌘↖ | ⌃⇧↖ |
Move Caret to Text End with Selection | ⇧⌘↘ | ⇧⌘↘ | ⌃⇧↘ |
Extend Selection | ⌥⌘→ | ⌥↑ | ⌃W |
Shrink Selection | ⌥⌘← | ⌥↓ | ⌃⇧W |
Multiple carets and selection ranges
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Add/Remove Caret | ⌥⇧Click | ⌥⇧Click | ⌥⇧Click |
Toggle Column Selection Mode | ⇧⌘8 | ⇧⌘8 | ⇧⌘8 |
Clone Caret Above | Double ⌥ + Up | Double ⌥ + Up | Double ⌥ + Up |
Clone Caret Below | Double ⌥ + Down | Double ⌥ + Down | Double ⌥ + Down |
Clone Caret Above with Virtual Space | ⌃⇧↑ | ⌃⇧↑ | N/A |
Clone Caret Below with Virtual Space | ⌃⇧↓ | ⌃⇧↓ | N/A |
Add Caret to Each Line in Selection | ⌥⇧G | ⌥⇧G | ⌥⇧G |
Add Selection for Next Occurrence | ⌥⇧. | ⌥⇧. | ⌥J |
Select All Occurrences | ⌥⇧; | ⌥⇧; | ⌃⌥⇧J |
Deselect Last Occurrence | ⌥⇧, | ⌥⇧, | ⌥⇧J |
Create Rectangular Selection | ⌥⇧Middle-Click | ⌥⇧Middle-Click | ⌥⇧Middle-Click |
Drag to Create Rectangular Selection | ⌥Click | ⌥Click | ⌥Click |
Drag to Create Multiple Rectangular Selections | ⌥⇧⌘Click | ⌥⇧⌘Click | ⌃⌥⇧Click |
Coding assistance
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Show Intention Actions | ⌥⏎ | ⌥⏎ | ⌥⏎ |
Basic Completion | ⌃Space | ⌃Space | ⌃Space |
Type-Matching Completion | ⌃⌥Space | ⌃⇧Space | ⌃⇧Space |
Second Basic Completion | ⌥⇧Space | ⌃⌥Space | ⌃⌥Space |
Complete Current Statement | ⇧⌘⏎ | ⇧⌘⏎ | ⌃⇧⏎ |
Reformat Code | ⌥⌘⏎ | ⌥⌘L | ⌃⌥L |
Parameter Info | ⌘P | ⌘P | ⌃P |
Quick Documentation | ⌃⇧F1 | ⌃Q | ⌃Q |
Move Statement Up | ⌃⌥⇧↑ | ⌃⌥⇧↑ | ⌃⇧↑ |
Move Statement Down | ⌃⌥⇧↓ | ⌃⌥⇧↓ | ⌃⇧↓ |
Move Element Left | ⌥⇧⌘← | ⌥⇧⌘← | ⌃⌥⇧← |
Move Statement Right | ⌥⇧⌘→ | ⌥⇧⌘→ | ⌃⌥⇧→ |
Move Line Up | N/A | N/A | ⌥⇧↑ |
Move Line Down | N/A | N/A | ⌥⇧↓ |
Comment with Line Comment | ⌥⌘/ | ⌘/ | ⌃/ |
Comment with Block Comment | ⌃⌘/ | ⌃⌘/ | ⌃⇧/ |
Generate... | ⌃⌘N | ⌃⌘N | ⌘N |
Code Cleanup... | ⌘E, C | ⌥⌘F | N/A |
Silent Code Cleanup | ⌘E, F | ⌥⇧⌘F | N/A |
Context navigation
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Next Method | N/A | N/A | ⌥↓ |
Previous Method | ⌃↑ | ⌃↑ | ⌥↑ |
Go to Line/Column... | ⌘G | ⌘G | ⌃G |
Switcher | ⌃⇥ | ⌃⇥ | ⌃⇥ |
Select In... | ⌥F1 | ⌥F1 | ⌥F1 |
Locate/Select in Solution View | ⌥⇧L | ⌥⇧L | N/A |
Recent Files | ⌃, | ⌘E | ⌃E |
Recently Changed Files | ⇧⌘, | ⌥⇧⌘⌫ | N/A |
Last Edit Location | ⇧⌘⌫ | ⇧⌘⌫ | ⌃⇧⌫ |
Back | ⌘- | ⌘- | ⌃⌥← |
Forward | ⇧⌘- | ⇧⌘- | ⌃⌥→ |
Select Next Tab | ⇧⌘] | ⇧⌘] | ⌥→ |
Select Previous Tab | ⇧⌘[ | ⇧⌘[ | ⌥← |
Show Bookmarks | ⌃` | ⌃` | ⇧F11 |
Toggle Bookmark | ⌘K, K | N/A | F11 |
Toggle Bookmark with Mnemonic | ⌥F3 | ⌥F3 | ⌃F11 |
Add to Favorites | ⌥⇧F | ⌥⇧F | ⌥⇧F |
Show Favorites window | ⌘2 | ⌘2 | ⌥2 |
Show Structure window | ⌃⌥F | ⌃F11 | ⌥7 |
Show Find window | ⌘3 | ⌘3 | ⌥3 |
Find everything
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Search Everywhere | Double ⇧ | Double ⇧ | Double ⇧ |
Find... | ⌘F | ⌘F | ⌃F |
Find Next / Move to Next Occurrence | F3 | F3 | F3 |
Find Previous / Move to Previous Occurrence | ⇧F3 | ⇧F3 | ⇧F3 |
Replace... | ⌃H | ⌃H | ⌃R |
Find in Files... | ⇧⌘F | ⇧⌘F | ⌃⇧F |
Replace in Files... | ⇧⌘H | ⇧⌘H | ⌃⇧R |
Next Occurrence of the Word at Caret | ⌘F3 | ⌘F3 | ⌃F3 |
Go to File... | ⇧⌘T | ⇧⌘N | ⌃⇧N |
File Member | ⌥\ | ⌘F12 | ⌃F12 |
Go to Symbol... | ⌥⇧⌘T | ⌥⇧⌘N | ⌃⌥⇧N |
Find Action... | ⇧⌘A | ⇧⌘A | ⌃⇧A |
Navigate from symbols
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Navigate To... | ⇧⌘G | ⇧⌘G | ⌃⇧G |
Find Usages | ⇧F12 | ⌥F7 | ⌥F7 |
Go to Declaration or Usages | F12 | ⌘B | ⌃B |
Go to Type Declaration | ⇧⌘F11 | ⇧⌘T | ⌃⇧B |
Show Usages | ⌥⇧F12 | ⌥⌘F7 | ⌃⌥F7 |
Go to Super Method | ⌥↖ | ⌘U | ⌃U |
Go to Implementation(s) | ⌘F12 | ⌥⇧⌘B | N/A |
Go to Derived Symbols | ⌥↘ | ⌥⌘B | ⌃⌥B |
Highlight Usages in File | ⌥⇧F11 | ⇧⌘F7 | ⌃⇧F7 |
Code analysis
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Show Intention Actions | ⌥⏎ | ⌥⏎ | ⌥⏎ |
Next Code Issue | ⌥⇟ | ⌥⇟ | F2 |
Previous Code Issue | ⌥⇞ | ⇧F12 | ⇧F2 |
Next Error | ⌥⇧⇟ | ⌥F12 | ⌥F2 |
Previous Error | ⌥⇧⇞ | ⌥⇧F12 | ⌥⇧F2 |
Toggle Code Inspection | ⌥⇧⌘8 | ⌥⇧⌘8 | ⌃⌥⇧8 |
Run Inspection by Name... | ⌥⇧⌘I | ⌥⇧⌘I | ⌃⌥⇧I |
Inspect This... | ⌥⇧⌘A | ⌥⇧⌘A | ⌃⌥⇧A |
Show Errors in Solution window | ⌃⌘2 | ⌃⌘2 | N/A |
Show Inspection Results window | ⌃⌘4 | ⌃⌘4 | N/A |
Build, Run, Debug
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
NuGet Quick List | ⌥⇧N | ⌥⇧N | N/A |
Build Solution | ⇧⌘B | ⇧⌘B | ⌃F9 |
Build Current Project | ⇧⌘F7 | ⇧⌘F7 | N/A |
Cancel Build | ⌘F9 | ⌘F9 | ⌃F9 |
Run context configuration | ⌘F5 | ⌘F5 | ⌃⇧F10 |
Run... | ⌥⇧⌘R | ⌥⇧⌘R | ⌥⇧F10 |
Debug context configuration | ⌥F5 | ⌥F5 | ⇧F9 |
Debug... | ⌃⌥D | ⌃⌥D | ⌥⇧F9 |
Attach to Process... | ⌥⌘P | ⌃⌥F5 | ⌃⌥F5 |
Stop | ⇧F5 | ⇧F5 | ⌃F2 |
Pause | ⌘Pause | ⌘Pause | N/A |
Resume Program | F5 | F5 | F9 |
Stop Background Processes... | ⇧⌘F2 | ⇧⌘F2 | ⌃⇧F2 |
Step Over | F10 | F10 | F8 |
Force Step Over | ⌥⇧F8 | ⌥⇧F8 | ⌥⇧F8 |
Step Into | ⌘F11 | ⌘F11 | F7 |
Smart Step Into | ⇧F7 | ⇧F7 | ⇧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 |
Skip to Cursor | ⇧⌘F10 | ⇧⌘F10 | ⌃⌥⇧F9 |
Show Execution Point | ⌥⌨ * | ⌥⌨ * | ⌥F10 |
Evaluate Expression... | ⇧F9 | ⇧F9 | ⌥F8 |
Quick Evaluate Expression | ⌥⌘F8 | ⌥⌘F8 | ⌃⌥F8 |
Toggle Line Breakpoint | F9 | F9 | ⌃F8 |
Toggle Temporary Line Breakpoint | ⌥⇧⌘F8 | ⌥⇧⌘F8 | ⌃⌥⇧F8 |
Toggle Breakpoint Enabled | ⌘F9 | ⌘F9 | N/A |
View Breakpoints... | ⌥⌘B | ⇧⌘F8 | ⌃⇧F8 |
Edit Breakpoint | ⌥F9 | ⌥F9 | ⌃⇧F8 |
Show Build window | ⌘0 | ⌘0 | N/A |
Show Run window | ⌘4 | ⌘4 | ⌥4 |
Show Debug window | ⌘5 | ⌘5 | ⌥5 |
Show NuGet window | ⌘7 | ⌘7 | ⌥⇧7 |
Refactorings
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Refactor This... | ⇧⌘R | ⇧⌘R | ⌃⌥⇧T |
Rename... | ⌘R, R | F2 | ⇧F6 |
Change Signature... | ⌘R, S | ⌘F6 | ⌃F6 |
Inline... | ⌘R, I | ⌥⌘N | ⌃⌥N |
Move... | ⌘R, O | F6 | F6 |
Extract Method... | ⌘R, M | ⌥⌘M | ⌃⌥M |
Introduce Field... | ⌘R, F | ⌥⌘D | ⌃⌥F |
Introduce Parameter... | ⌘R, P | ⌥⌘P | ⌃⌥P |
Introduce Variable... | ⌘R, V | ⌥⌘V | ⌃⌥V |
Safe Delete... | ⌘R, D | ⌥⌦ | ⌥⌦ |
Global VCS actions
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
VCS Operations Popup... | ⌃V | ⌃V | ⌥` |
Commit... | ⌥⇧⌘K | ⌘K | ⌃K |
Update Project | ⌥⌘W | ⌥⌘W | ⌃T |
Rollback | ⌥⌘Z | ⌥⌘Z | ⌃⌥Z |
Push... | ⇧⌘K | ⇧⌘K | ⌃⇧K |
Next Change | ⌥⇧⌘N | N/A | ⌃⌥⇧↓ |
Previous Change | ⌥⇧⌘P | N/A | ⌃⌥⇧↑ |
Show Version Control window | ⌘9 | ⌘9 | ⌥9 |
Show Commit window | N/A | N/A | ⌥0 |
Unit Testing
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Unit Testing Quick List... | ⌥⇧U | ⌥⇧U | ⌥⇧U |
Run Unit Tests | ⌘U, R | ⌘T, R | ⌃;, R |
Debug Unit Tests | ⌘U, D | ⌘T, D | ⌃;, D |
Stop Execution | ⌘U, S | ⌘T, S | ⌃;, S |
Repeat Previous Run | ⌘U, U | ⌘T, T | ⌃;, T |
Rerun Failed Tests | ⌘U, F | ⌘T, F | ⌃;, F |
Run Tests Until Failure | ⌘U, W | ⌘T, W | ⌃;, W |
Run All Tests from Solution | ⌘U, L | ⌘T, L | ⌃;, L |
Create New Session | ⌘U, N | ⌘T, N | ⌃;, N |
Append Tests to Session | ⌘U, A | ⌘T, A | ⌃;, A |
Run Current Session | ⌘U, Y | ⌘T, Y | ⌃;, Y |
Run Unit Tests under dotMemory Unit | ⌘U, M | ⌘T, M | ⌃;, M |
Run Selected Tests | ⇧⏎ | ⇧⏎ | ⇧⏎ |
Debug Selected Tests | ⌘D | ⌘D | ⌃D |
Run Current Session (Tool Window) | ⌘Y | ⌘Y | ⌃Y |
Create New Session (Tool Window) | ⇧⌘N | ⇧⌘N | ⌥⇧Insert |
Append Tests to Session (Tool Window) | ⌥⌘N | ⌥⌘N | ⌃⌥Insert |
Remove Selected Tests (Tool Window) | ⌫ | ⌫ | ⌦ |
Run All Tests from Solution (Tool Window) | ⌘L | ⌘L | ⌃L |
Show Unit Tests window | ⌘8 | ⌘8 | ⌥⇧8 |
Tool Windows
Command | Visual Studio (macOS) | ReSharper (macOS) | IntelliJ (macOS) |
---|---|---|---|
Hide Active Tool Window | ⇧⎋ | ⇧⎋ | ⇧⎋ |
Hide All Tool Windows | ⇧⌘F12 | ⇧⌘F12 | ⌃⇧F12 |
Jump to Last Tool Window | ⌥⇧F6 | ⌥⇧F6 | F12 |
Show Solution window | ⌥⌘L | ⌘1 | ⌥1 |
Show Favorites window | ⌘2 | ⌘2 | ⌥2 |
Show Find window | ⌘3 | ⌘3 | ⌥3 |
Show Run window | ⌘4 | ⌘4 | ⌥4 |
Show Debug window | ⌘5 | ⌘5 | ⌥5 |
Show Structure window | ⌃⌥F | ⌃F11 | ⌥7 |
Show Services window | N/A | N/A | ⌥8 |
Show Version Control window | ⌘9 | ⌘9 | ⌥9 |
Show Commit window | N/A | N/A | ⌥0 |
Show Build window | ⌘0 | ⌘0 | N/A |
Show Errors in Solution window | ⌃⌘2 | ⌃⌘2 | N/A |
Show Inspection Results window | ⌃⌘4 | ⌃⌘4 | N/A |
Show NuGet window | ⌘7 | ⌘7 | ⌥⇧7 |
Show Unit Tests window | ⌘8 | ⌘8 | ⌥⇧8 |
Show Terminal window | ⌃⌘1 | ⌃⌘1 | ⌥F12 |
Show Database window | ⌃⌘3 | ⌃⌘3 | N/A |