Navigating through code with keyboard shortcuts
Visual StudioKeyboard ShortcutsVisual Studio Problem Overview
I'm starting to feel the need to run fastly through code with keyboard shortcuts, to arrive faster where I want to make any changes (avoiding use of mouse or long times holding ↑, ←, → and ↓).
I'm already using some:
-
Home - first position in current line
-
End - last position in current line
-
Ctrl + Home - first line of the entire code
-
Ctrl + End - last line of the entire code
-
Page Up - same vertical position, one screen above
-
Page Down - same vertical position, one screen below
-
Ctrl + Page Up - first line in current screen
-
Ctrl + Page Down - last line in current screen
-
Ctrl + ← / → - skipping word per word
What have you got ?
I use Visual Studio. (but I'm open to any answer, as I maybe can use others soon)
obs: I've searched through stackoverflow and didn't find a nice question with this content, nor a list of keyboard code searching. If it's repeated, I'm sorry for not finding it, I'm here in my best intentions.
This question is NOT about any shortcuts, and not only about visual studio, it's about running through code with shortcuts.
Answers that suit the question so far:
-
Ctrl + - - jumps to last cursor position
-
Ctrl + Shift + - - jumps to next cursor position
-
Ctrl + F3 - Jumps to next occurance of the word the curson is in
-
Shift + F3 - Same as the above, backwards.
-
F12 - Goes to definition of method/variable the cursor is in
-
Ctrl + ] - Jumps to matching brace and select
I'll ad more as there are answers.
Visual Studio Solutions
Solution 1 - Visual Studio
For Visual Studio, Ctrl + - is priceless (jump to last position).
Solution 2 - Visual Studio
I use a lot of keyboard shortcuts in Visual Studio, and also a lot of Alt-key menu navigation.
Ctrl / Shift F3 to repeat search, search backwards
Ctrl F3 to search for the current word.
F12 to jump to the definition of the current word.
Ctrl F to open the search window
Ctrl ] to jump to a matching brace
Shift Ctrl ] to jump to a matching brace and select
I also find I tend to use the ALT-key to navigate the menus. Because you can see the underlines, it makes it easy to learn. example: Alt-E F I (Edit/Find and Replace/Find in Files) takes you to Find in Files. Alt-L then takes you to the scoping drop down. 3 arrow keys takes it to Find in Solution, or 4 takes it to Find in Project.
There's also the bookmarking shortcuts- CTRL K K to toggle a bookmark, CTRL K L to clear them all, CTRL K N for the next and CTRL K P for the previous.
Some of the people I work with really like regions, but I don't, so CTRL M L opens all the regions up. However, I do like to use CTRL M M to collapse a section of code. It's really handy to collapse the current method, select the collapsed method and copy the whole thing to the clipboard. CTRL M O will collapse everything to definitions, which occasionally is nice.
Solution 3 - Visual Studio
Ctrl + F3 to find the next occurrence of whatever word your cursor is inside of. So if you clicked on the first instance of the word 'occurrence' in my post and pressed Ctrl + F3, it would take you down to the second one.
Solution 4 - Visual Studio
Alt + Up Arrow and Alt + Down Arrow are amazing commands. They move lines up and down. Saves a ton of keystrokes and you don't have to clobber your clipboard. It even works for multi-line selections.
Alt + Shift + Arrow key allow you to make a block selection. What many don't know is, if you have a vertical block selection (with zero width) and type, it will type into all the lines at the same time. Extremely useful.
If you wish to populate several lines with the same thing you can put it on the clipboard, make a vertical block selection across multiple rows, and paste into all the rows at the same time. This can also work to append to several rows at once, pasting into a selection that is to the right of the existing text.
Ctrl+Del deletes next word. However, if there is space after the cursor, it deletes all the space. Usually what you want when you have the cursor in the right place and the text is off to the right and that next word needs to be pulled over to the cursor.
Ctrl+Backspace deletes the previous word. Not particularly useful, but it's a good under-utilized shortcut. I see people mashing backspace all the time.
Although not strictly a keyboard shortcut, if you hold Alt and click somewhere in the text editor, it will force the cursor to be there. If you type it will automatically put in spaces or tabs appropriately to make that text be there.
Solution 5 - Visual Studio
F12 = Go To Definition of method/variable cursor is in. Works well combined with Heinzi's Ctrl + - answer to view definition of method then quickly go back to where you were using it.
Solution 6 - Visual Studio
You can find over 100 answers to this very same question here:
Solution 7 - Visual Studio
Alt + ↑ , Alt + ↓
Will jump to next, previous code block (Method, class, etc.) Might only be in ReSharper.
Solution 8 - Visual Studio
On Visual Studio, but using a lot of the ReSharper shortcuts. A few that I use heaps:
-
Ctrl + N - Go to type
-
Ctrl + Shift + N - Go to file
-
Ctrl + Shift + Alt + N - Go to symbol
-
Ctrl + F12 - Go to method (in current file)
-
Ctrl + B (or Ctrl + Click) - Go to declaration
-
Ctrl + Shift + T - Go to type declaration
-
Alt + F7 - Find usage (or go to usage, if only one)
For the first four, resharper gives me a dropdown menu with options, filtered as I type, and they all support wildcards (*
), and camel-hump navigation (typing SPI
filters to just items such as SinglePassengerInfo, etc)
Solution 9 - Visual Studio
Honestly, I long for the day when VisVim gets to a good enough point to get me to buy it for Visual Studio (<3 VI keyboard commands).
Anyway, the command that I use the most in Vis Studio is Ctrl + D, which I have mapped to Edit.GotoFindCombo