Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VSCode column selection with keyboard

Any way to do this kind of selection using only the keyboard?

enter image description here

With the regular Visual Studio I would use Shift + Alt + Arrows to get these columns selected. Unfortunately it doesn't work in VSCode.

like image 904
André Luiz Carletti Avatar asked Apr 19 '17 17:04

André Luiz Carletti


People also ask

How do you select vertically in VS Code?

Keyboard shortcut for vertical block selection: To select code block vertically in your visual studio code, use Shift + Alt and then use the mouse to select lines vertically, from top-left to bottom-right.

What is Ctrl K in VS Code?

To launch the Define Keybinding widget, press Ctrl+K Ctrl+K. The widget listens for key presses and renders the serialized JSON representation in the text box and below it, the keys that VS Code has detected under your current keyboard layout.

How do you select text with keyboard VS Code?

Ctrl+D selects the word at the cursor, or the next occurrence of the current selection. Tip: You can also add more cursors with Ctrl+Shift+L, which will add a selection at each occurrence of the current selected text.

What is Ctrl Shift P in VS Code?

You can define a keyboard shortcut for any task. From the Command Palette (Ctrl+Shift+P), select Preferences: Open Keyboard Shortcuts File, bind the desired shortcut to the workbench.


4 Answers

By default, this is Ctrl + Shift + Alt + Arrow.

If you would like to rebind it to align with Visual Studio, put this in your keybindings.json:

{
    "key": "shift+alt+down",
    "command": "cursorColumnSelectDown",
    "when": "editorTextFocus"
},
{
    "key": "shift+alt+left",
    "command": "cursorColumnSelectLeft",
    "when": "editorTextFocus"
},
{
    "key": "shift+alt+pagedown",
    "command": "cursorColumnSelectPageDown",
    "when": "editorTextFocus"
},
{
    "key": "shift+alt+pageup",
    "command": "cursorColumnSelectPageUp",
    "when": "editorTextFocus"
},
{
    "key": "shift+alt+right",
    "command": "cursorColumnSelectRight",
    "when": "editorTextFocus"
},
{
    "key": "shift+alt+up",
    "command": "cursorColumnSelectUp",
    "when": "editorTextFocus"
}

This will conflict with the default functions of that duplicating a line or growing/shrinking with smart select, so you can add this to swap those to require Control:

,
{
    "key": "ctrl+shift+alt+down",
    "command": "editor.action.copyLinesDownAction",
    "when": "editorTextFocus && !editorReadonly"
},
{
    "key": "ctrl+shift+alt+up",
    "command": "editor.action.copyLinesUpAction",
    "when": "editorTextFocus && !editorReadonly"
},
{
    "key": "ctrl+shift+alt+right",
    "command": "editor.action.smartSelect.grow",
    "when": "editorTextFocus"
},
{
    "key": "ctrl+shift+alt+left",
    "command": "editor.action.smartSelect.shrink",
    "when": "editorTextFocus"
}
like image 109
Ullallulloo Avatar answered Sep 29 '22 10:09

Ullallulloo


You can do column selection several ways,

  • As you've noted, Place cursor to the start (left) of first word of first column press and hold Alt + Shift followed by Right Arrow to select top row (Try Ctrl + Shift if previous key combination is not working). With the keys pressed proceed with selecting the column by pressing Down Arrow key.

  • Place cursor to the start (left) of first word of first column Press and hold Alt + Shift and repeatedly press Down Arrow to add more cursors. (Some versions of VSCode also use Ctrl+Shift instead) Once cursors added select the words by a simple Shift + Right Arrow

  • Ctrl+D selects next occurrence of the word currently under cursor.

  • Ctrl+Shift+L selects all occurrences of word currently selected under cursor, regardless of if those words are above of below the cursor.

like image 43
Abdullah Leghari Avatar answered Sep 28 '22 04:09

Abdullah Leghari


You can see your current keyboard shortcuts using the menu "File" -> "Preferences" -> "Keyboard Shortcuts". And then search by "cursorColum"enter image description here

like image 9
rresino Avatar answered Sep 29 '22 10:09

rresino


Here's what just worked for me with vscode:

Version: 1.39.2 (user setup)
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:35:18.241Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
  1. place cursor at upper left of block to select
  2. hold down ctrl-alt-shift
  3. press down-arrow however many times you want
  4. press right-arrow however many times you want

When step 3 was to press right-arrow it didn't work for me.

like image 7
Love and peace - Joe Codeswell Avatar answered Sep 29 '22 10:09

Love and peace - Joe Codeswell