Mehrere Cursor in Visual Studio Code [geschlossen]

579

Wie können Sie beim Bearbeiten in VS Code mehrere Cursor erstellen? Ich interessiere mich sowohl für MacOS als auch für Windows.

Kiba
quelle
114
Halten Sie einfach die AltTaste gedrückt und klicken Sie an verschiedenen Stellen. Das ist es.
Benutzername
40
CMD + Alt + Abwärtspfeil ist das, was Sie wollen. stackoverflow.com/questions/30037808/…
Valentine Bondar
4
Wenn Sie einen Mac verwenden, ist UMSCHALT + STRG + AB / AUF genau das, was Sie ab 1.14.2 tatsächlich wollen.
Ben Creasy
2
Es sieht auch so aus, als ob Cmd + Alt + Down standardmäßig von editor.action.goToDeclaration ab 1.14.2 zugeordnet wurde
Ben Creasy
15
Es ist eine Schande, dass Leute beschlossen haben, ein Thema zu schließen, das von so offensichtlichem Interesse ist, dass es fast 400 Stimmen hat und fast 4 Jahre nach der Veröffentlichung immer noch Besucher hat. Ich wünschte, SO-Redakteure würden sich ein wenig entspannen und die Community wachsen lassen und sich gegenseitig ermutigen. Ich bin gespannt, welche relevanten Antworten mit dem Wissen von 2019 auftauchen würden. :(
Mike Williamson

Antworten:

580

Drücken Sie Altund klicken Sie. Dies funktioniert unter Windows und Linux * und sollte auch unter Mac funktionieren.

Weitere Funktionen für mehrere Cursor sind jetzt in Visual Studio Code 0.2 verfügbar:

Multi-Cursor-Verbesserungen
Ctrl+D( Cmd+Dauf dem Mac) wählen das nächste Vorkommen eines Wortes unter dem Cursor oder der aktuellen Auswahl aus. Der
Ctrl+K Ctrl+Dzuletzt hinzugefügte Cursor wird zum nächsten Vorkommen des Wortes unter dem Cursor oder der aktuellen Auswahl
verschoben. Die Befehle verwenden standardmäßig matchCase. Wenn das Such-Widget geöffnet ist, werden die Einstellungen für das Such-Widget (matchCase / matchWholeWord) zum Bestimmen des nächsten Auftretens
Ctrl+U( Cmd+Uauf dem Mac) verwendet, um die letzte Cursor-Aktion rückgängig zu machen. Wenn Sie also einen Cursor zu viele hinzugefügt oder einen Fehler gemacht haben, können Sie dies tun Drücken Sie Ctrl+U( Cmd+Uauf dem Mac), um zum vorherigen Cursorstatus zurückzukehren. Hinzufügen des Cursors nach oben oder unten ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down unter Mac) zeigt jetzt den zuletzt hinzugefügten Cursor an, um die Arbeit mit mehreren Cursorn auf mehr als einer Ansichtsfensterhöhe gleichzeitig zu vereinfachen (dh 300 Zeilen auswählen und nur 80 passen in das Ansichtsfenster).

Dies macht es viel einfacher, mehrere Cursor einzuführen

* Linux Drag-Window-Konflikt:

Einige Distributionen (z. B. Ubuntu) weisen das Ziehen von Fenstern zu Alt+LeftMouse, was zu Konflikten mit VSCode führt.

In neueren Versionen von VSCode können Sie also zwischen Alt+LeftMouseund Ctrl+LeftMouseunter dem Auswahlmenü wechseln , wie in einer anderen Antwort beschrieben .

Alternativ können Sie die Tastenkombinationen Ihres Betriebssystems gsettingswie in einer anderen Antwort beschrieben ändern .

Vilicvane
quelle
20
Tastatürkürzel ? Ich verstehe, dass es Befehl + Klick ist. Aber das ist eklig .. nicht schneller Weg :(
Kiba
8
F2 oder Strg + F2 können helfen. Aber ich habe so etwas wie Strg + D nicht gefunden.
Vilicvane
13
Alt + Klick scheint unter Linux nicht zu funktionieren. Was für mich funktioniert hat war Strg + Umschalt + links / rechts / oben / unten
Yonatan Simson
18
Alt + Shift + Klick auf Mac (2017)
Hoff
5
hmmm, Strg + Alt + Auf oder Ab dreht meinen Bildschirm (auf win10) anstelle von mehreren Cursors
Reinsbrain
158

Mehrwort- (und Mehrzeilen-) Cursor / Auswahl im VS-Code

Mehrfachwort:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lwählt alle Instanzen des aktuell hervorgehobenen Wortes aus
  • Ctrl+D/ ⌘+Dwählt die nächste Instanz aus ... und die danach ... usw.

Mehrzeilig:

Bei mehrzeiliger Auswahl erweitert Ctrl+Alt+Down/ ⌘+Alt+Shift+DownIhre Auswahl oder Cursorposition auf die nächste Zeile. Ctrl+Right/ ⌘+Rightbewegt sich zum Ende jeder Zeile, egal wie lange. Um der mehrzeiligen Auswahl zu entgehen, drücken Sie Esc.

Siehe die VS-Code-Tastenkombinationen (Betriebssystemempfindlich).

Dave Everitt
quelle
15
Ha ha auf meinem Computer verfügt der Intel-Grafiktreiber über eine Tastenkombination Strg-Alt-Ab, damit der Bildschirm auf den Kopf gestellt wird. Hat mich
unvorbereitet
3
Warum ist es nicht dasselbe wie SSMS (und vermutlich Visual Studio), das Umschalt-Alt-Ab / Auf und nicht Strg-Alt-Ab verwendet?
Umgekehrter Ingenieur
@ DaveBoltman - Ich weiß es nicht! Sie können die Tastenkombinationen jedoch anpassen.
Dave Everitt
2
Strg-Alt-Nach unten bringt Ihren Bildschirm auf den Kopf? Wie viele Benutzer brauchten das, um auf einem Hotkey zu sein? 🙄
Gman
3
Um den dummen Intel-Hotkey zu deaktivieren, klicken Sie einfach mit der rechten Maustaste auf Desktop> Grafikoptionen> Hotkeys>
Deaktivieren
138

Ich hatte ein Problem mit der ALT-Taste. Die Korrektur besteht darin, sie alt+clickals Gnome-Hotkey zu ändern, der die Auswahl mehrerer Cursor in VSCode blockiert, super+clickindem Folgendes ausgeführt wird:

gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"   

Quelle: http://2buntu.com/articles/1529/visual-studio-code-comes-to-linux/

Ivan Ermilov
quelle
7
+1 diese Methode funktioniert! Nur überprüft es mit Ubuntu 14.04.05 .. Früher habe ich versucht , dconf-editorund CompizConfig„move Fenster“ Plugin - Konfigurationen und vermasselt zu ändern und brach mir fast Ubuntu.
Dimitry K
2
Dies funktioniert in Ubuntu!
jonan.pineda
11
Verwendung gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"für Linux Mint (Cinnamon).
Vossad01
Genial! Funktioniert unter Ubuntu 16.04.
Bruno Gomes
1
Wenn Sie die Standardeinstellungen Ihres Systems nicht berühren möchten, können Sie auch "Auswahl> Zu STRG wechseln + Klicken für Mehrfachcursor" verwenden. Dies funktioniert unter Linux Mint, daher sollte es auch unter Ubuntu funktionieren.
lsblsb
125

Mai 2017
Ab Version 1.13 Fügen Sie mit Ctrl/ Cmd+ mehrere Cursor hinzuClick

VSCodeEntwickler haben eine neue Einstellung eingeführt, editor.multiCursorModifierum den Modifikatorschlüssel für das Anwenden mehrerer Cursor auf Cmd+ Clickunter MacOS und Ctrl+ Clickunter Windows und Linux zu ändern . Auf diese Weise können Benutzer, die von anderen Editoren wie Sublime Text oder Atom stammen, weiterhin den ihnen bekannten Tastaturmodifikator verwenden.

Die Einstellung kann eingestellt werden auf:

  • ctrl/Cmd- Zuordnungen Ctrlunter Windows und CmdMacOS.
  • alt- Die vorhandene Standardeinstellung Alt.

Es gibt auch einen neuen Menüpunkt Verwenden Sie Ctrl+ Clickfür Multi-Cursorim SelectionMenü, um diese Einstellung schnell umzuschalten. Geben Sie hier die Bildbeschreibung ein

Die Gesten Gehe zu Definition und Open Link berücksichtigen diese Einstellung ebenfalls und passen sie so an, dass sie nicht in Konflikt stehen. Wenn die Einstellung beispielsweise ist ctrl/Cmd, können mehrere Cursor mit Ctrl/ Cmd+ hinzugefügt werden Click, und das Öffnen von Links oder das Wechseln zur Definition kann mit Alt+ aufgerufen werden Click.

Mit der Behebung von Problem Nr. 2106 ist es jetzt möglich, einen Cursor auch zu entfernen, indem dieselbe Geste über einer vorhandenen Auswahl verwendet wird.

Taras Yaremkiv
quelle
1
Ich war verrückt danach, warum Strg + Klick nicht funktionierte. Ich wusste nicht, dass es eine Option zum Umschalten gibt. :-)
ankush981
5
Das Einstellen editor.multiCursorModifiervon alt auf ctrlCmd hat hervorragend funktioniert. Jetzt muss ich nur noch Strg + Klick machen und es werden mehrere Cursor verwendet :) Muchas gracias!
ProtoEvangelion
Ich kann zu Strg + Klick wechseln, es funktioniert, aber um zur Definition der Klasse zu gelangen oder etwas ist weg, wie kann ich das beheben?
Vuong Tran
Dies ist die hilfreichste Antwort. In den meisten Editoren wird STRG + Klick für die Mehrfachauswahl verwendet. Das Verhalten des Betriebssystems muss nicht geändert werden, damit ein Editor funktioniert. Diese Option ändert das Verhalten für die Mehrfachauswahl auf das am häufigsten verwendete Muster.
Ruby Racer
83

Versuchen Sie Ctrl+ Alt+ Shift+ ⬇ / ⬆ohne Maus oder halten Sie "Alt" gedrückt und klicken Sie auf alle gewünschten Zeilen.

Hinweis : Unter Windows getestet.

Erivan
quelle
21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆funktioniert für mich auf Mac mit Version 1.15.1.
Tyler Collier
2
Unter Windows 10 kann ich es ohne dieshift
Pini Cheyni
2
Sie können auch die Seite nach oben / unten verwenden, um schneller zu werden!
Maxime
ohne SHIFTes hat bei mir nicht funktioniert thx
BartusZak
1
Ich habe die Smart Multi-Cursor- Erweiterung mit einigen erweiterten Funktionen installiert , mit der Tastenkombination Cmd + Alt + (Auf / Ab), um den Multi-Cursor zu erstellen.
Danny
47

Cmd+ Option+ Shift⬇ / ⬆Funktioniert für mich auf neueste VSCode 1.29.1 und neuesten OSX High Sierra 10.13.6, Macbook Pro.

Dies fügt eine vertikale Linie nach oben / unten auf dem Bildschirm hinzu, wie dies bei Option+ Klicken / Vertikalem Ziehen in erhabenem Text der Fall ist.

Um mehrere Cursor an beliebigen Punkten in Ihrer Datei hinzuzufügen , einschließlich mehrerer Cursor in derselben Zeile , Cmd (or Option)klicken Sie auf eine beliebige Stelle, die in diesem Video angezeigt wird . Sie können auch nach Text ( Cmd+ F) suchen , der sich mehrmals wiederholt, und dann Option+ drücken Return, um am Ende JEDES Wortes Cursor hinzuzufügen.

Raymond Gan
quelle
30

Unter Ubuntu müssen Sie zuerst Alt + Klicken neu zuweisen, um das Klicken mit mehreren Cursoren zu aktivieren, indem Sie den folgenden Befehl ausführen. Dies liegt daran, dass Ubuntu standardmäßig die Verknüpfung selbst verwendet und Vorrang hat.

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"
Valentin Miculit
quelle
25

Gehen Sie auf XFCE zu Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Jetzt können Sie Insert Cursormit Alt+ Klick

Ich habe auch die Einstellungen für den L / R-Arbeitsbereich ( ctrl+ alt+ L/R) in deaktiviertSettings -> Window manager -> Keyboard

Lava-Lava
quelle
1
?? Was ist XFCE hier?
Martian2049
1
@ Martian2049, es ist eine Desktop-Umgebung unter Unix-ähnlichen Betriebssystemen (Linux, BSD usw.). Wenn Sie dies noch nicht wissen, ist meine Antwort wahrscheinlich nicht hilfreich für Sie. Überprüfen Sie andere Antworten.
Lava-Lava
Es funktioniert nach dem Deaktivieren von easy_click für mich, danke, dass Sie meinen Tag gerettet haben.
Mohamed M. Hagag
Es funktioniert für mich. Ich habe in easy_click ALT in STRG geändert, da ALT + Klick zum Verschieben von Fenstern dient.
Millonesj
Schöne Antwort. Es funktioniert bei mir @ lava-lava.
Abu Abu
18

Es gibt keine Bindung für genau das, was Sie wollen.

Das einzige, was nahe kommt, ist Ctrl+, F2das alle auf einmal auswählt.

Sie können es wie folgt an Ctrl+ binden D:

  • Klicken Sie auf File > Preferences > Keyboard Shortcuts
    Sie sollten einen Bereich mit den aktuellen Bindungen und rechts eine Liste der benutzerdefinierten Bindungen sehen
  • Suchen Sie in den aktuellen Bindungen nach Ctrl+, F2kopieren Sie die gesamte Zeile und fügen Sie sie in den rechten Bereich ein.
  • Möglicherweise müssen Sie das Komma am Ende entfernen und dann Ctrl+ F2in Ctrl+ ändern Dund dann die Datei speichern.

Es sollte ungefähr so ​​aussehen:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]
Intrepion
quelle
Kann ich es wie einen Multicursor machen, erhaben macht es ... das Mausrad drücken?
Miguel
@MigueIch habe noch keinen Weg gefunden, dies zu tun
Intrepion
Wenn Sie nicht suchen und ersetzen möchten, ist dies der effizienteste Weg, wenn Sie Tausende von Zeilen gleichzeitig bearbeiten müssen! DANKE !
Link
10

Ctrl++ AltFügen ⬇ / ⬆Sie Cursor über und unter der aktuellen Zeile hinzu. Immer noch bei weitem nicht so gut wie erhaben oder in Klammern. Ich kann in der Tastaturkürzeldatei nichts sehen, was Ctrl+ Din sublime entspricht .

Mutex
quelle
3
Für Mac ist es: Alt + Commandund Aufwärts- oder Abwärtspfeil.
Leniel Maccaferri
Auf Ubuntu ist diesCtrl+Shift+Up/Down
tobalr
In Windows scheint dies standardmäßig "Bildschirm drehen" zu sein.
BlaM
1
Wenn es Ihren Bildschirm dreht, ist dies Ihr Grafiktreiber, nicht Windows. Sie können diese Verknüpfung in den Grafikeinstellungen deaktivieren.
Daniel
9

https://code.visualstudio.com/Updates

Die neue Version (Visual Studio 0.3.0) unterstützt mehr Multi-Cursor-Funktionen.

Multi-cursor
Here's multi-cursor improvements that we've made.

⌘D selects the word at the cursor, or the next occurrence of the current selection.
⌘K ⌘D moves the last added cursor to next occurrence of the current selection.
The two actions pick up the matchCase and matchWholeWord settings of the find widget.
⌘U undoes the last cursor action, so if you added one cursor too many or made a mistake, press ⌘U to return to the previous cursor state.
Insert cursor above (⌥⌘↑) and insert cursor below (⌥⌘↓) now reveals the last added cursor, making it easier to work with multi-cursors spanning more than one screen height (i.e., working with 300 lines while only 80 fit in the screen).

Und die Abkürzung des ausgewählten Multi-Cursors ändert sich in cmd + d (es ist dasselbe wie bei Sublime Text. Lol)

Wir können erwarten, dass die nächste Version eine bequemere Funktion für Multi-Cursor unterstützt;)

HyoJin KIM
quelle
7

In Visual Studio ohne Maus: Alt+ Shift+ { Arrow }.

Multiprogramm
quelle
2
Alt+Shift+{ Arrow }. führt zum Kopieren der aktuellen Zeile ab VS Code V1.18.0
Adarsh ​​Madrecha
4

In meinem XFCE (Version 4.12) ist es in Settings -> Window Manager Tweaks -> Accessibility.

Es gibt ein Dropdown-Feld Key used to grab and move windows:, setzen Sie dieses auf None.

Alt + Klicken funktioniert jetzt in VS Code, um weitere Cursor hinzuzufügen.

Yahya
quelle
4

Im Auswahlmenü können Sie Folgendes tun:

Screenshot des Auswahlmenüs in VS Code

Drücken Sie / halten Sie Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow nach Bedarf, um ausreichend Cursor zu erstellen, und Ctrl+Derweitern Sie dann die Auswahl.

David Metcalfe
quelle
3

Gleiches Problem unter Ubuntu-MATE, aber hier lösen Sie es durch:

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"
Naoe
quelle
2

Alt + Befehl + Umschalttaste fügt der nächsten Instanz Ihrer Auswahl einen Cursor hinzu. ZB ein Variablen- oder Funktionsname

Tanner James
quelle
-3

Alt + Click funktioniert unter OSX. Code Version 1.14.2

Lickybuay
quelle