I am trying to find the shortcut for duplicating a line in Visual Studio Code (I am using 1.3.1) I tried the obvious CTRL + D but that doesn't seem to work.
This question is related to
visual-studio-code
VC Code Version: 1.22.2 Go to: Code -> Preferences -> Keyboard Shortcuts (cmd + K; cms + S); Change (edit): "Add Selection To Next Find Match": "cmd + what you want" // for me this is "cmd + D" and I pur cmd + F; Go to "Copy Line Down": "cmd + D" //edit this and set cmd + D for example And for me that's all - I use mac;
Update that may help Ubuntu users if they still want to use the ? and ? instead of another set of keys.
I just installed a fresh version of VSCode on Ubuntu 18.04 LTS and I had duplicate commands for Add Cursor Above
and Add Cursor Below
I just removed the bindings that used Ctrl and added my own with the following
Copy Line Up
Ctrl + Shift + ?
Copy Line Down
Ctrl + Shift + ?
The duplicate can be achieved by CTRL+C and CTRL+V with cursor in the line without nothing selected.
Ubuntu :
Mac:
Duplicate Line Down :shift + option + ?
Duplicate Line Up:shift + option + ?
Windows:
Duplicate Line Down : Ctrl + Shift + D
Another 2 very usefull shortcuts are to move lines selected up and down, like sublime text does...
{
"key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
"when" : "editorTextFocus && !editorReadonly"
},
and
{
"key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
"when" : "editorTextFocus && !editorReadonly"
}
Use the following: Shift + Alt+(? or ?)
It's possible to create keybindings that are only active when Vim for VSCode is on and in a certain mode (i.e., "Normal", "Insert", or "Visual").
To do so, use Ctrl + Shift + P to open up VSCode's Command Palette, then search for "Preferences: Open Keyboard Shortcuts (JSON)"--selecting this option will open up keybindings.json. Here, custom bindings can be added.
For example, here are the classic VSCode commands to move/duplicate lines tweaked for ease of use in Vim..
[
{
"key": "alt+j",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
},
{
"key": "alt+shift+j",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
},
{
"key": "alt+k",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
},
{
"key": "alt+shift+k",
"command": "editor.action.copyLinesUpAction",
"when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
},
]
Now we can use these Vim-friendly commands in VSCode!
You can use the following depending on your OS:
Windows:
Shift+ Alt + ? or Shift+ Alt + ?
Mac:
Shift + Option + ? or Shift +Option + ?
Linux:
Ctrl+Shift+Alt+? or Ctrl+Shift+Alt+?
Note: For some linux distros use Numpad arrows
Search for copyLinesDownAction
or copyLinesUpAction
in your keyboard shortcuts
Usually, it is SHIFT+ALT+?
There is a new command in v1.40: editor.action.duplicateSelection
unbound to any keybinding.
Duplicate selection
We have added a new action named Duplicate Selection. When executed, the current selection will be duplicated and the result will be selected. When there is no selection, the current line will be duplicated, all without writing to the system clipboard.
from https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md
Some may find it helpful in certain situations.
Source: Stackoverflow.com