We, software engineers, tend to be extremely efficient beings.
Our goal is to optimize everything, not just the code.
That's why we don't want to...
For further actions, you may consider blocking this person and/or reporting abuse
For #7 Duplicate line -> Alt + Shift + Down Arrow to create a duplicate line.
Yeah I thought of writing that, but you did it first, thank you. This is two times faster and doesn't overwrite your clipboard, that's why I always use it!
Extra trick!
You can move lines up and down by using Ctrl+Arrow Down/Up, which is faster than using Ctrl + X and Ctrl + V, or Ctrl dragging with the mouse, when you need to move the line nearby!
Moving lines is
Alt + Down/Up
by default.You forgot what might be THE most powerful shortcut/feature in VSCode: navigate back/forward! (navigation history, not 100% sure what it's really called)
So, it works like this:
You move around in the code, e.g. you jump to a method, perform a search, go to the top of a file, go to the bottom of a file, open a new file, and so on and so on, anything that changes your "location" in the source code - now "navigate back" let's you instantly go back to the previous "places" where you've been (and "navigate forward" to move in the other direction).
I'd call it "super powers", if you learn only one shortcut, then learn this one.
P.S. and the second most useful feature is that you can override all of these keyboard shortcuts - I find some of them way too complicated and impossible to remember (especially having worked with IDEs before, which has similar actions but different keys for them) - so I just redefine a bunch of them.
VS Code calls this "cursor undo/redo". I really need to use this more often 😄.
The default for undo is
Ctrl + U
. Redo has no binding by default.Not sure if that's what it's called, but I've (re)defined it like this, in keybindings.json:
The internal name is "workbench.action.navigateBack" and "workbench.action.navigateForward", and I've assigned "control-up" and "control-down" to it (left and right would have been more logical, but somehow that didn't work).
This is incredibly powerful and I have the impression that not a lot of people know or use it, it's kind of tucked away and doesn't even have default key bindings.
Sorry, I mixed up the two. I found cursor undo/redo in the keybindings menu, and thought it was that. It is like a much more toned-down version of Navigation. It only changes your cursor position, and skips to the beginning of the file if the "history stack" is empty.
Navigation is so much better!, as it navigates between files, and works at all times, not just when an editor is focused.
My VS Code keybindings for Navigation:
workbench.action.navigateBack
:Alt + LeftArrow
(default)workbench.action.navigateForward
:Alt + RightArrow
(default)workbench.action.navigateToLastEditLocation
:Alt + K
(default wasCtrl + K, Ctrl + Q
)Ah nice, I didn't know about the other one, but yeah "navigation" is indeed brilliant because it also navigates backwards/forwards across files ...
Ctrl + LeftArrow/RightArrow
don't work because they are Windows keyboard controls (also in pretty much all OSes). They navigate to the left and right of words.For example (
|
represents cursor):"I am some tex|t." => LeftArrow => "I am some |text."
"I am| some text." => RightArrow => "I am some| text."
Yeah that's why I chose different key combos for nav prev/next :)
If you have installed notepad++ keymap like me:
Alternate commands (Windows verified)
My delete line is
Ctrl + Shift + K
, which VS Code says is the default.Duplicate line's default is
Shift + Alt + Down/Up
.Oh .. my bad
This notepad++ keymap I have installed:
marketplace.visualstudio.com/items...
Yeah, I use this alternate commands.
Cool ( some of the main commands didn't work for me :) )
Yep, me too.
My favourite is
CTRL+D
multi-cursor select same words.Hey @domagojvidovic , thanks for the guide.. It's not supported natively but you can also check this little extension of mine. It gives you CTRL + SHIFT + T shortcut to surround your codeblocks with snippets.
yatki / vscode-surround
🔥A simple yet powerful extension to add wrapper templates around your code blocks
Surround
A simple yet powerful extension to add wrapper snippets around your code blocks
Features
Demo 1: Choosing a wrapper snippet from quick pick menu
Demo 2: Wrapping multi selections
How To Use
After selecting the code block, you can
to get list of commands and pick one of them.
List of commands
surround.with
(ctrl+shift+T)surround.with.if
surround.with.ifElse
Cheers, 🚀🖖
In my windows pc
Ctrl + G
is for Goto Line not search for next occurence, is it default?Yes, that is the default.
You can go to the keyboard shortcuts settings menu (shortcut:
Ctrl + K, Ctrl + S
), find it there (either the key combo or the command), and look at theSource
column.Default
is VS Code's default binding,User
is one you added or edited, andExtension
is one added by an extension.ok thanks dude.
Very useful post Domagoj.
Thanks mate!
To duplicate a line or any block of code, if it line you can
shift + alt
withup
ordown
arrow. Same shortcut is for block of code when selected. ✌🏼14.1 Wrap Text
Alt + Z
Great write up! Here is my shortcut
Alt + Shift + F -> Auto indent code
Ctrl + Enter go to next line no matter where the cursor is
Shift + Ctrl + Enter go up
For #7 use ctrl + d to duplikate a complete line or the selected text.
Great post, Thanks for you
Minor typo you have used crtl throughout which should be ctrl.
But I just learned a few keyboard shortcuts to quickly replace that 😉
For #5 to rename press F2 😊
Thank you!
Copy a line. A better way to do it is. option+shift+down arrow (mac)
I like to use CTRL + X, to cut a line, good for reshuffling code!
CTRL/CMD + / to comment out the current selection
For #2.
Search for settings => cmd + shift + p
Thanks for sharing such a useful information. I will apply this while using VS Code on my windows 10 activator.
For #7 Ctrl + d would work too on windows. This works on almost all the IDEs(JetBrains) :)
VS code change my coding life, speed up my work with many usefull extension.