Multiline editing in Visual Studio Code

Visual Studio-Code

Visual Studio-Code Problem Overview


Is it possible to enable multiline editing like in Sublime Text?

For example, press Ctrl to place additional cursor carets and being able to write/delete on multiple places in the document at one time.

Visual Studio-Code Solutions


Solution 1 - Visual Studio-Code

On Windows, you hold Ctrl+Alt while pressing the up or down arrow keys to add cursors.

Mac: ⌥ Opt+⌘ Cmd+/

Linux: Shift+Alt+/

>Note that third-party software may interfere with these shortcuts, preventing them from working as intended (particularly Intel's HD Graphics software on Windows; see comments for more details).
> >If you experience this issue, you can either disable the Intel/other software hotkeys, or modify the VS Code shortcuts (described below).

Press Esc to reset to a single cursor.

Multiline cursors in Visual Studio Code

Or, as Isidor Nikolic points out, you can hold Alt and left click to place cursors arbitrarily.

Arbitrarily placed multiline cursors in Visual Studio Code

You can view and edit keyboard shortcuts via:

>File → Preferences → Keyboard Shortcuts

Documentation:

https://code.visualstudio.com/docs/customization/keybindings

Official VS Code Keyboard shortcut cheat sheets:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

Solution 2 - Visual Studio-Code

Solved using just two steps!

  1. Ctrl + F

  2. Alt + Enter

It's equal to Sublime Text's Alt + F3.

Enter image description here

Solution 3 - Visual Studio-Code

You can just Alt + click for additional cursors. And as already mentioned, Ctrl + Alt + or .

Solution 4 - Visual Studio-Code

Box Selecting

Windows: shift + alt + Mouse Left Button

macOS: shift + option + Click

This is contrary to what is mentioned in an answer to Does Visual Studio Code have box select/multi-line edit?.

Solution 5 - Visual Studio-Code

I wanted to select multiple lines and hit "something" to have a cursor for each select lines (similar to Ctrl + Shift + L in Sublime Text). This action in Visual Studio Code is called "Add Cursors to Line Ends".

This was tested in Visual Studio Code 1.51.1 and works on both Windows and Mac.

Here is the way:

  1. Select the lines you want to have multiple cursors.
  2. Simply hit Alt + Shift-I.

You now have one cursor per selected line.

Solution 6 - Visual Studio-Code

Use Ctrl + D to use multi word edit of same words in Windows and Linux.

Use CMD + D for Mac.

Solution 7 - Visual Studio-Code

From the version 1.13 (May 2017) you can finally change the default modifier key for creating multiple cursors (add to settings):

"editor.multiCursorModifier": "ctrlCmd"

P.S.: The modifier "follow link" from this moment will be Alt.

Solution 8 - Visual Studio-Code

In the latest release of Visual Studio Code, you can now drag the cursor while holding Option (Alt on Windows) to select the same column on multiple rows.

To enable this, make sure you change your editor.multiCursorModifier to look like this:

"editor.multiCursorModifier": "ctrlCmd"

From the Visual Studio Code release notes 1.32.0:

> In the following video, the selection begins as a regular selection and then Alt is pressed and held until the mouse button is released:

Example of improved column selection:

Solution 9 - Visual Studio-Code

On Mac it is:

Option + Command while pressing the up or down arrow keys.

Solution 10 - Visual Studio-Code

I am using the vscodevim extension, so I'm not sure if this is a common problem. But, I was having the issue where Ctrl + Alt + UpArrow flipped my screen upside down.

Looking at the Visual Studio Code Basics (I don't know if they changed this in a recent update), it says to use:

Ctrl + Alt + Shift + (Up/down)

Solution 11 - Visual Studio-Code

Step 1:

Select the word to be replaced


Step 2:

Ctrl + F this will select its multiple occurrences


Step 3:

Alt + Enter this will set cursor at all the found occurrences

Step 4:

Just start typing the new word


Alternatively on Mac:

⌥ Opt + Click to set cursor on the click location

Solution 12 - Visual Studio-Code

(Windows 10 pro x64) Here have some ways!

  1. Alt + click

  2. Alt + Ctrl + up/down

  3. Keybindings: Ctrl + click (??? it doesn't work!)

Enter image description here

Solution 13 - Visual Studio-Code

Working solution for me was first selecting the required text to edit and then using CTRL + F2 to select all matching data in the page. You may also use CTRL+Shift+L as suggested by @lesterCovax

> Please Note: The above solution uses the inherent ability of VSCode editor to select similar text across the entire page, and therefore, be careful.

For me the above solution of Ctrl + ALT + Arrowkeys did not work as it caused the screen to change its display orientation against selecting the lines in VSCode.

enter image description here

Solution 14 - Visual Studio-Code

As of April 2018 (version 1.23) you can now also use the middle mouse button to multiline select / box select.

Solution 15 - Visual Studio-Code

version 1.43 (February 2020)

You can now toggle column selection mode, which changes mouse gestures and arrow keys, via:

  • Menu Bar > Selection > Column Selection Mode
  • Ctrl+Shift+P (Show All Commands) > Toggle Column Selection Mode
  • Bind your key for command "editor.action.toggleColumnSelection"

enter image description here

Note: There is a "Column Selection" panel in the status bar after activation, which you can press to disable it again.

Solution 16 - Visual Studio-Code

According to VS Code 1.55.2 version(2021) under User > Commonly Used section there is an option as Multi Cursor Modifier. See below image. enter image description here

for multi cursor default key is alt if you want it can change to Ctrl. Moreover, for suitable places, you can hold the Middle Mouse button and move to down.

Solution 17 - Visual Studio-Code

To add multiple cursors at any text position

This is done by using Ctrl+Click. Firstly you have to enable Multiple-Cursor Modifier. Simply type this option on Command Palette by Ctrl+Shift+P to enable it.

To remove a cursor form multiple text position.

Do Ctrl+Click on the cursor.

Solution 18 - Visual Studio-Code

In addition to all of the answers, there is one more way. Select the lines you want and then press:

  • Windows: Shift + Alt + i
  • Mac: shift + option + i

This puts a cursor in every row in the selection.

Solution 19 - Visual Studio-Code

In Windows, the below combinations work for me:

  • Ctrl + Shift + Alt + down arrow
  • Ctrl + Shift + Alt + up arrow

Solution 20 - Visual Studio-Code

I think it depends on your Visual Studio Code version.

Mine is Linux version Visual Studio Code 1.7.2.

{ "key": "ctrl+shift+up",         "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+up",          "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "ctrl+shift+down",       "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+down",        "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" }

The point is the shortcuts are not same in all machines, so you should check your configuration. Go to menu:

> Menu FilePreferencesKeyboard Shortcuts

Search for editor.action.insertCursorAbove and editor.action.insertCursorBelow and see your current configurations. You may change them if they conflict with operating system's shortcut keys.

Solution 21 - Visual Studio-Code

In Visual Studio Code just press Alt and place your cursor to the edit place(where you want to edit) and right click to select.

Solution 22 - Visual Studio-Code

(NO MOUSE) For macOS, I found this to be very quick!

  1. CMD + f To search the (word) you want to change.
  2. Option + Enter To select all word you search for.

Just update the first word and it will update all the selected.

Solution 23 - Visual Studio-Code

If you're using Linux, there's a possibility of a conflict with Alt + click, which is the default for "moving a window".

You can go to menu SettingsWindow BehaviorWindow BehaviorActions tab

Just remove Alt + left (hold) and it will work.

This is the best way, because you don't need to hold two + keys to do such a simple task.

Solution 24 - Visual Studio-Code

I am using the latest version of VS code i.e., 1.46.1 (May 2020) in Windows 10. Just press Alt+mouse left click on the lines you want to select. This will let you select multiple lines at once and let you edit them. Also Press Esc to exit from it. This is really helpful if you're coming from sublime text.

Solution 25 - Visual Studio-Code

I am using the Sublime Text keymap and the keybinding provided by the top answer did not seem to work :( Could be some conflicts between Visual Studio Code and sublime keymaps.

The keybinding recommended by @Han works for me (much appreciated!):

  • Enter multiline cursor mode with Ctrl + Shift + Up/Down
  • Exit with Esc

(Sidenote) Below is a small example of using Emmet together with the multiline cursor (enabled and disabled with these key bindings listed above):

Enter image description here

Solution 26 - Visual Studio-Code

My settings: Windows 8.1 64 bits, Visual Studio Code version 1.33.1.

Problem: Conflict with keyboard shortcuts of Intel HD Graphics 4000

I had a problem when I was using the default shortcuts of the Visual Studio Code (Ctrl + Alt + UP, Ctrl + Alt + DOWN). In my case, these commands were turning my screen in 0º and 180º respectively. It's happening, because there is the Graphic Intel application installed on my computer. Then, I just disable the shortcuts of this application.

Here is an tutorial to help someone.

Solution 27 - Visual Studio-Code

On windows, you can create additional cursor on the next/previous lines by pressing:

Ctrl + Alt + Shift +Down/Up

Missing the Shift will flip your screen.

Creating additional cursors will allow you to edit multiple lines at once.

Solution 28 - Visual Studio-Code

Just Opt + click works for me on Mac

Solution 29 - Visual Studio-Code

The solution from @maxime of using SHIFT + ALT + i worked for me, when I needed to quickly edit ~20k lines in a file. Most of the other keyboard shortcuts mentioned are only useful for a limited number of line. SHIFT selecting the area you want to column edit, then pressing SHIFT + ALT + i is the most efficient way to handle this.

What I accidentally discovered though, (and hasn't been mentioned here yet) is that there is a limit of 10k lines in "cursor edit mode" (there's an open Github feature request to increase it). This means that for extremely large files, it may be better to script your edits, rather than doing it manually.

For those like @specimen that had to use shortcuts like CTRL + SHIFT + L (default binding is Select all occurrences of current selection) to accomplish this, you should check that you don't have a keymap extension installed. You can check by searching for @recommended:keymaps in the extensions pane, going to File > Preferences > Keymaps (CTRL+K CTRL+M).

The default [Windows] keymap can be found in PDF form HERE, or you can go to File > Preferences > Keyboard Shortcuts to find/modify the current bindings. There is also more in-depth key bindings documentation HERE.

Solution 30 - Visual Studio-Code

For me Alt + Middle Click (scroll wheel) worked fine You have to click on Alt then long click on Middle Click then scroll Up or down

Solution 31 - Visual Studio-Code

On Windows..

  1. Select one line you want to change everywhere. (with the mouse cursor)
  2. Press CTRL + F2 and you will start editing all lines at once.

Solution 32 - Visual Studio-Code

On Linux Fedora (I tried with Fedora 31) with KDE, go to:

> 1. System Settings > 2. Window Management > 3. Window Behavior > 4. Window Actions > 5. Inner Window, Titlebar and Frame Actions > 6. Click Left Click Box > 7. Pick Do nothing (replacing move/drag)

Now you can select multiple lines with Alt + Left Click!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAfBuView Question on Stackoverflow
Solution 1 - Visual Studio-CodeNacimotaView Answer on Stackoverflow
Solution 2 - Visual Studio-Codeuser8202629View Answer on Stackoverflow
Solution 3 - Visual Studio-CodeIsidor NikolicView Answer on Stackoverflow
Solution 4 - Visual Studio-Codeuser4023394View Answer on Stackoverflow
Solution 5 - Visual Studio-CodeMaximeView Answer on Stackoverflow
Solution 6 - Visual Studio-CodeKrishnaraj Rajendran NairView Answer on Stackoverflow
Solution 7 - Visual Studio-CodeAlexView Answer on Stackoverflow
Solution 8 - Visual Studio-CodeTyler BecksView Answer on Stackoverflow
Solution 9 - Visual Studio-CodekiewicView Answer on Stackoverflow
Solution 10 - Visual Studio-CodeAndrewView Answer on Stackoverflow
Solution 11 - Visual Studio-CodeViraj SinghView Answer on Stackoverflow
Solution 12 - Visual Studio-CodexgqfrmsView Answer on Stackoverflow
Solution 13 - Visual Studio-CodeRICHARD ABRAHAMView Answer on Stackoverflow
Solution 14 - Visual Studio-CodeJemmehView Answer on Stackoverflow
Solution 15 - Visual Studio-Codeford04View Answer on Stackoverflow
Solution 16 - Visual Studio-CodeSupun SandaruwanView Answer on Stackoverflow
Solution 17 - Visual Studio-CodeganiularView Answer on Stackoverflow
Solution 18 - Visual Studio-CodePulkit AgarwalView Answer on Stackoverflow
Solution 19 - Visual Studio-CodeDnyneshwarView Answer on Stackoverflow
Solution 20 - Visual Studio-CodeHanView Answer on Stackoverflow
Solution 21 - Visual Studio-CodeRobinView Answer on Stackoverflow
Solution 22 - Visual Studio-CodeAjay MaharView Answer on Stackoverflow
Solution 23 - Visual Studio-CodeMarcelo AgimóvelView Answer on Stackoverflow
Solution 24 - Visual Studio-CodeishanView Answer on Stackoverflow
Solution 25 - Visual Studio-CodeShan DouView Answer on Stackoverflow
Solution 26 - Visual Studio-CodeRui M.View Answer on Stackoverflow
Solution 27 - Visual Studio-CodeMohammed NoureldinView Answer on Stackoverflow
Solution 28 - Visual Studio-CodenewbieView Answer on Stackoverflow
Solution 29 - Visual Studio-CodeLesterCovaxView Answer on Stackoverflow
Solution 30 - Visual Studio-Codeanouar es-sayidView Answer on Stackoverflow
Solution 31 - Visual Studio-CodeRadim ŠafránView Answer on Stackoverflow
Solution 32 - Visual Studio-CodekintsukuroiView Answer on Stackoverflow