Mehrzeilige Bearbeitung in Visual Studio Code

581

Ist es möglich, die mehrzeilige Bearbeitung wie in Sublime Text zu aktivieren ?

Drücken Sie beispielsweise, Ctrlum zusätzliche Cursor-Carets zu platzieren und an mehreren Stellen im Dokument gleichzeitig schreiben / löschen zu können.

AfBu
quelle
4
In vielen Mac-Apps (z. B. TextEdit) kann ich auch bei gedrückter Wahltaste eine Box auswählen. Ist dies in VS Code verfügbar?
Simon Woodside
In Verbindung stehender Beitrag hier .
RBT
2
Ab April 2018 (Version 1.23) können wir mit der mittleren Maustaste mehrere Spalten auswählen. code.visualstudio.com/updates/…
blueray
5
Für alle, die nach dem Namen dieses Befehls im Abschnitt mit den Tastenkombinationen suchen, gilt editor.action.insertCursorAtEndOfEachLineSelected
Folgendes
1
@enzoborgfrantz +1 Genau das, wonach ich gesucht habe! In der ausgewählten Antwort sollten zuerst die entsprechenden Editorbefehle erwähnt worden sein, da die Tastenkombinationen variieren können.
Pius

Antworten:

1062

Unter Windows halten Sie Ctrl+ Altgedrückt, während Sie die Aufwärts- oder Abwärtspfeiltasten drücken , um Cursor hinzuzufügen.

Mac: ⌥ Opt+ ⌘ Cmd+ /

Linux: Shift+ Alt+ /

Beachten Sie, dass Software von Drittanbietern diese Verknüpfungen möglicherweise beeinträchtigt und verhindert, dass sie wie beabsichtigt funktionieren (insbesondere Intels HD-Grafiksoftware unter Windows; weitere Informationen finden Sie in den Kommentaren).

Wenn dieses Problem auftritt, können Sie entweder die Intel / andere Software-Hotkeys deaktivieren oder die VS-Code-Verknüpfungen (siehe unten) ändern.

Drücken Sie Esc, um auf einen einzelnen Cursor zurückzusetzen.

Mehrzeilige Cursor in Visual Studio Code

Oder, wie Isidor Nikolic betont, können Sie gedrückt halten Altund mit der linken Maustaste klicken, um Cursor beliebig zu platzieren.

Beliebig platzierte mehrzeilige Cursor in Visual Studio Code

Sie können Tastaturkürzel anzeigen und bearbeiten über:

Datei → Einstellungen → Tastaturkürzel

Dokumentation:

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

Offizielle VS Code Keyboard Shortcut Spickzettel:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/ Tastatur-Shortcuts-Linux.pdf

Nacimota
quelle
155
Unter Windows dreht die erste Option nur meinen Bildschirm. : - /
Kristoffer la Cour
26
Dies gilt nicht mehr. Versuchen Sie CTRL + SHIFT + UP/DOWN/CLICKORALT + SHIFT + UP/DOWN/CLICK
Han
39
@Nacimota - Auf einem Windows 10-Computer (gerade getestet) wird durch die Kombination STRG + ALT + PFEIL der Bildschirm umgedreht, STRG + ALT + UMSCHALT + PFEIL wird ein neuer Cursor erstellt. Die veröffentlichte Liste der PDF-Tastaturkürzel ist möglicherweise veraltet.
Alex C
11
@AlexC die Verknüpfungen sind nicht veraltet; Laden Sie den neuesten Build herunter und sehen Sie sich die Konfiguration selbst an. Wenn Sie feststellen, dass die aufgelisteten Verknüpfungen Ihren Bildschirm umdrehen, würde ich wetten, dass Sie über eine Intel-GPU verfügen und die Intel-Software dafür ausführen, die diese Verknüpfungen standardmäßig abfängt. Öffnen Sie die HD-Grafiksoftware und deaktivieren oder binden Sie Hotkeys erneut, wenn Sie dies stören. Bearbeiten Sie meinen Beitrag jedoch nicht, um falsche Informationen hinzuzufügen . Die aufgeführten Verknüpfungen sind korrekt, und ich werde nicht jede Software von Drittanbietern auflisten, die sie möglicherweise stört oder nicht.
Nacimota
6
@Nacimota Bei allem Respekt war es ein ehrlicher Fehler, der für einen erheblichen Teil der Benutzer die Realität darstellt. Es gibt genügend Intel-Computer, auf denen dies möglicherweise eine Standardkonfiguration ist, bei der die zusätzlichen Informationen wertvoll waren. Wir haben beide das Ziel, die aktuellste Antwort zu liefern. Ein zusätzlicher Satz, um diesen Unterschied aufzuzählen, wäre hilfreich.
Alex C
136

In nur zwei Schritten gelöst!

  1. Ctrl + F

  2. Alt + Enter

Es ist gleich Sublime Text's Alt+ F3.

Geben Sie hier die Bildbeschreibung ein

Peter Mortensen
quelle
21
Der gleiche Effekt gibt Ihnen Strg + F2
ksopyla
2
Können wir alle Zeilen gleichzeitig auswählen, die dieses Schlüsselwort enthalten? Erhabener Text hatte es Strg + F> Alt + F3> Strg + L
Anirban
Was ist das in Mac-Begriffen? Strg und Alt ersetzt durch ...?
OldPeculier
67

Sie können einfach Alt+ klicken, um weitere Cursor anzuzeigen. Und wie schon erwähnt, Ctrl+ Alt+ oder .

Isidor Nikolic
quelle
9
Mit Alt + Umschalt + Klicken können Sie zwei Zeilen und jede Zeile dazwischen auswählen.
Steven Liekens
6
Die Frage ist, wie man die Schlüsselbindung bearbeitet (Wie heißt er Alt + Click?)
David Refoua
Alt + Klick definiert das Wort automatisch oder bewegt sich links vom Wort und funktioniert bei mir nicht.
Jbodily
Gefunden die Antwort auf meine Frage, es kann entweder Alt (die Standardeinstellung , oder Ctrl / ⌘ . Diese Option kann mit dem modifizierten werden "editor.multiCursorModifier": "ctrlCmd"Schlüssel in settings.json.
David Refoua
62

Box Auswahl

Windows: shift+ alt+Mouse Left Button

macOS: shift+ option+Click

Dies steht im Widerspruch zu dem, was in einer Antwort auf " Hat Visual Studio Code eine Boxauswahl / mehrzeilige Bearbeitung?" Erwähnt wird . .

Peter Mortensen
quelle
Ich bin kein Fan von Umschalt + Alt + Klicken (obwohl es funktioniert). Damit es (unter Windows) genau wie in VS funktioniert, habe ich Folgendes getan: Gehen Sie zum Auswahlmenü und wählen Sie Zu Alt wechseln + Für Mehrfachcursor klicken. Jetzt wählt Alt + Click das Feld aus.
Kon
27

Verwenden Sie Ctrl+ D, um die Mehrwortbearbeitung derselben Wörter unter Windows und Linux zu verwenden.

Verwenden Sie CMD+ Dfür Mac.

Krishnaraj R.
quelle
Wie @Krishnaraj sagte, funktioniert Strg + D. Tatsächlich unterstützen sowohl VSCode als auch Sublime dies. Stellen Sie sicher, dass Sie bei allen späteren Ereignissen Strg + D anwenden, ohne die Strg-Taste loszulassen. Ja, Sie müssen immer noch manuell auswählen, es hilft Ihnen nur, Ihre Maus zu befreien. MacOS Command + D
Oscar Zhang
22

Ab Version 1.13 (Mai 2017) können Sie den Standard-Modifikatorschlüssel zum Erstellen mehrerer Cursor endgültig ändern (zu den Einstellungen hinzufügen):

"editor.multiCursorModifier": "ctrlCmd"

PS: Der Modifikator "Follow Link" wird ab diesem Moment sein Alt.

Alex
quelle
Viele dieser anderen Antworten befassen sich nicht mit der Frage. Dies ist - wie man zusätzliche Carets mit Mausklicks platziert.
Aleksander Niedziolko
17

Auf dem Mac ist es:

Option+, Commandwährend Sie die Aufwärts- oder Abwärtspfeiltasten drücken .

kiewic
quelle
16

Ich wollte mehrere Zeilen auswählen und auf "etwas" klicken, um einen Cursor für jede ausgewählte Zeile zu haben (ähnlich wie Ctrl+ Shift+ Lin Sublime Text). Diese Aktion in Visual Studio Code heißt "Cursor zu Zeilenenden hinzufügen".

Dies wurde in Visual Studio Code 1.22 getestet und funktioniert sowohl unter Windows als auch unter Mac .

Hier ist der Weg:

  1. Wählen Sie die Zeilen aus, für die Sie mehrere Cursor haben möchten.
  2. Drücken Sie einfach Alt+ Shift- I.

Sie haben jetzt einen Cursor pro ausgewählter Zeile.

Maxime
quelle
1
@Manza In VS Code ist es Ihnen ALT-SHIFT-I(wie inicht L). Die Schrift hilft nicht, richtig zu sehen. Ich verwende diesen Befehl mehrmals täglich auf Mac und Windows und habe ihn gerade noch einmal mit der neuesten Version von VS Code: 1.24.1 getestet. Ich versichere Ihnen, dass er funktioniert. Vielleicht haben Sie ein Plugin, das Konflikte verursacht?
Maxime
wow yeah, das macht den Trick, vielen Dank, ich habe immer noch zwischen erhaben gewechselt, weil dieses Feature, ist das soooo praktisch
Manza
für mich ist es STRG-UMSCHALT-L (Fenster)
Probe
14

Ich verwende die Erweiterung vscodevim , daher bin ich mir nicht sicher, ob dies ein häufiges Problem ist. Aber ich hatte das Problem, dass Ctrl+ Alt+ UpArrowmeinen Bildschirm auf den Kopf stellte.

Wenn man sich die Grundlagen des Visual Studio-Codes ansieht (ich weiß nicht, ob sie dies in einem kürzlich durchgeführten Update geändert haben), heißt es:

Ctrl+ Alt+ Shift+ ( Up/ down)

Andrew
quelle
1
Strg + Alt + [Pfeiltaste] ist eine häufig verwendete Tastenkombination für die Bildschirmdrehung, insbesondere bei Intel-Grafiktreibern und / oder zugehöriger Software. Ich stelle mir vor, dass dies abgefangen wird, bevor VSCode einen Blick darauf wirft. In letzter Zeit (und ärgerlicherweise, seit ich es verwendet habe) scheint die Rotation in einem Update der Intel-Software eingestellt worden zu sein und ist jetzt nur über langwierige Menüs verfügbar in Windows. Die Tastenkombination sollte daher in VSCode mit neueren Treibern funktionieren.
Bob Sammers
9

Schritt 1:

Wählen Sie das zu ersetzende Wort aus


Schritt 2:

Ctrl+ FDies wählt seine mehrfachen Vorkommen aus


Schritt 3:

Alt + EnterDadurch wird der Cursor auf alle gefundenen Vorkommen gesetzt


Schritt 4:

Beginnen Sie einfach mit der Eingabe des neuen Wortes


Viraj Singh
quelle
6
Auch cmd+shift+Lauf dem Mac. Macht das Gleiche in einem Schritt.
Andres
2
@Andres Danke! Dies hat mein Problem unter Windows gelöst, die anderen Lösungen drehen meinen Bildschirm um.
Tarik Hacialiogullari
8

Ab April 2018 (Version 1.23) können Sie jetzt auch mit der mittleren Maustaste mehrzeilig auswählen / auswählen.

Jemmeh
quelle
Vielen Dank dafür, es ist eine Zeitersparnis. Gibt es eine Option für die Tastatur? wie hervorheben und dann Strg + l in erhaben?
Manza
Das ist eine etwas andere Funktion, aber Sie suchen wahrscheinlich nach Strg + i. code.visualstudio.com/docs/getstarted/keybindings
Jemmeh
8

In der neuesten Version von Visual Studio Code können Sie den Cursor jetzt bei gedrückter Taste ziehen Option ( Altunter Windows) ziehen, um dieselbe Spalte in mehreren Zeilen auszuwählen.

Um dies zu aktivieren, stellen Sie sicher, dass Sie Ihre so ändern editor.multiCursorModifier:

"editor.multiCursorModifier": "ctrlCmd"

Aus den Versionshinweisen zu Visual Studio Code 1.32.0:

Im folgenden Video beginnt die Auswahl als reguläre Auswahl und dann wird Alt gedrückt gehalten, bis die Maustaste losgelassen wird:

Beispiel für eine verbesserte Spaltenauswahl:

Tyler Becks
quelle
6

In Windows funktionieren die folgenden Kombinationen für mich:

  • Ctrl+ Shift+ Alt+down arrow
  • Ctrl+ Shift+ Alt+up arrow
Dnyneshwar
quelle
Dies scheint identisch mit Visual Studio zu sein!
GaTechThomas
4

Ich denke, es hängt von Ihrer Visual Studio Code-Version ab.

Meins ist die Linux-Version Visual Studio Code 1.7.2.

                                     "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 *File* → *Preferences* → *Keyboard 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.



Han
quelle
Das Hinzufügen von UMSCHALT + ALT + AUF / AB zu meinen Benutzereinstellungen funktionierte unter Windows 10
SteveC
4

Drücken AltSie in Visual Studio Code einfach und platzieren Sie den Cursor an der Bearbeitungsstelle (an der Sie bearbeiten möchten) und klicken Sie mit der rechten Maustaste, um sie auszuwählen.

Robin
quelle
2
Diese Antwort scheint unvollständig
Spangen
4

Die Arbeitslösung für mich bestand darin, zuerst den gewünschten Text zum Bearbeiten auszuwählen und dann mit CTRL+ F2alle übereinstimmenden Daten auf der Seite auszuwählen. Sie können auch CTRL+ Shift+ verwenden, Lwie von @lesterCovax vorgeschlagen

Bitte beachten Sie: Die obige Lösung nutzt die inhärente Fähigkeit des VSCode-Editors, ähnlichen Text auf der gesamten Seite auszuwählen. Seien Sie daher vorsichtig.

Für mich hat die obige Lösung von Ctrl+ ALT+ Arrowkeysnicht funktioniert, da der Bildschirm seine Anzeigeausrichtung geändert hat, anstatt die Zeilen in VSCode auszuwählen.

Geben Sie hier die Bildbeschreibung ein

RICHARD ABRAHAM
quelle
2

Wenn Sie Linux verwenden, besteht die Möglichkeit eines Konflikts mit Alt+ click . Dies ist die Standardeinstellung für "Verschieben eines Fensters".

Sie können zum Menü EinstellungenFensterverhaltenFensterverhalten → Registerkarte Aktionen gehen

Entfernen Sie einfach Alt+ left(gedrückt halten) und es wird funktionieren.

Dies ist der beste Weg, da Sie +für eine so einfache Aufgabe nicht zwei Tasten gedrückt halten müssen.

Marcelo Agimóvel
quelle
2

Ich benutze den erhabenen Text Keymap und die Tastenkombination in der oberen Antwort schien nicht zu funktionieren :( Möglicherweise gibt es Konflikte zwischen Visual Studio Code und Sublime Keymaps.

Die von @Han empfohlene Tastenkombination funktioniert für mich (sehr geschätzt!):

  • Rufen Sie den mehrzeiligen Cursormodus mit auf Ctrl + Shift+ Up/Down
  • Beenden Sie mit Esc

(Nebenbemerkung) Nachfolgend finden Sie ein kleines Beispiel für die Verwendung von Emmet zusammen mit dem mehrzeiligen Cursor (aktiviert und deaktiviert mit diesen oben aufgeführten Tastenkombinationen):

Geben Sie hier die Bildbeschreibung ein

Shan Dou
quelle
2

Neben allen Antworten gibt es noch einen weiteren Weg. Wählen Sie die gewünschten Zeilen aus und drücken Sie:

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

Dies setzt einen Cursor in jede Zeile der Auswahl.

Pulkit Agarwal
quelle
2

Version 1.43 (Februar 2020)

Sie können jetzt den Spaltenauswahlmodus umschalten, der Mausgesten und Pfeiltasten ändert, über:

  • Menüleiste> Auswahl> Spaltenauswahlmodus
  • Ctrl+ Shift+ P(Alle Befehle anzeigen)> Spaltenauswahlmodus umschalten
  • Binden Sie Ihren Schlüssel für den Befehl "editor.action.toggleColumnSelection"

Geben Sie hier die Bildbeschreibung ein

Hinweis: Nach der Aktivierung befindet sich in der Statusleiste ein Fenster "Spaltenauswahl", das Sie drücken können, um es wieder zu deaktivieren.

ford04
quelle
1

Meine Einstellungen: Windows 8.1 64 Bit, Visual Studio Code Version 1.33.1.

Problem: Konflikt mit Tastaturkürzeln von Intel HD Graphics 4000

Ich hatte ein Problem, als ich die Standardverknüpfungen des Visual Studio-Codes verwendete (Ctrl + Alt+ UP, Ctrl+ Alt+ DOWN) verwendete. In meinem Fall drehten diese Befehle meinen Bildschirm um 0º bzw. 180º. Es passiert, weil auf meinem Computer die Graphic Intel-Anwendung installiert ist. Dann deaktiviere ich einfach die Verknüpfungen dieser Anwendung.

Hier ist ein Tutorial, um jemandem zu helfen.

Rui M.
quelle
1
In Windows 7 können Sie mit der rechten Maustaste auf den Desktop klicken und Grafikoptionen -> Hotkeys -> Deaktivieren auswählen.
Moritz Roessler
0

Nur Opt+ Klicken funktioniert bei mir auf dem Mac

Neuling
quelle
0

Die Lösung von @maxime zur Verwendung SHIFT + ALT + ifunktionierte für mich, als ich schnell ~ 20.000 Zeilen in einer Datei bearbeiten musste. Die meisten anderen erwähnten Tastaturkürzel sind nur für eine begrenzte Anzahl von Zeilen nützlich. SHIFTWählen Sie den Bereich aus, den Sie in der Spalte bearbeiten möchten, und drücken Sie dann SHIFT + ALT + i, um dies am effizientesten zu tun.

Was ich jedoch versehentlich entdeckt habe (und hier noch nicht erwähnt wurde), ist, dass es im "Cursor-Bearbeitungsmodus" ein Limit von 10.000 Zeilen gibt (es gibt eine offene Github-Funktionsanforderung , um diese zu erhöhen). Dies bedeutet, dass es für extrem große Dateien möglicherweise besser ist, Ihre Änderungen per Skript zu erstellen, als sie manuell auszuführen.

Für diejenigen wie @specimen , die Verknüpfungen wie CTRL + SHIFT + L(Standardbindung ist Select all occurrences of current selection) verwenden mussten, um dies zu erreichen, sollten Sie überprüfen, ob Sie keine Keymap-Erweiterung installiert haben. Sie können dies überprüfen, indem Sie @recommended:keymapsim Erweiterungsbereich nach File > Preferences > Keymaps( CTRL+K CTRL+M) suchen .

Die Standard-Tastaturbelegung für [Windows] finden Sie HIER im PDF-Formular. Sie können auch File > Preferences > Keyboard Shortcutsdie aktuellen Bindungen suchen / ändern. HIER finden Sie auch eine ausführlichere Dokumentation zu Schlüsselbindungen .

LesterCovax
quelle
0

Unter Linux Fedora (ich habe es mit Fedora 31 versucht) mit KDE gehen Sie zu:

  1. Systemeinstellungen
  2. Fensterverwaltung
  3. Fensterverhalten
  4. Fensteraktionen
  5. Aktionen für Innenfenster, Titelleiste und Rahmen
  6. Klicken Sie mit der linken Maustaste auf das Feld
  7. Wählen Sie Nichts tun (Verschieben / Ziehen ersetzen)

Jetzt können Sie mit Alt + Linksklick mehrere Zeilen auswählen !

kintsukuroi
quelle