Wie dupliziere ich eine Zeile oder Auswahl in Visual Studio Code?


Antworten:


1327

Die Befehle, nach denen Sie suchen, sind editor.action.copyLinesDownActionund editor.action.copyLinesUpAction.

Sie können die zugehörigen Tastenkombinationen anzeigen, indem Sie Folgendes auswählen: Datei> Einstellungen> Tastaturkürzel

Windows:

Shift+ Alt+ Downund Shift+ Alt+Up

Mac:

Shift+ Option+ Downund Shift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ Downund Ctrl+ Shift+ Alt+Up

(Möglicherweise muss numpad Downund Upfür Linux verwendet werden)

Darüber hinaus sind Befehle editor.action.moveLinesUpActionund editor.action.moveLinesDownActiondiejenigen, die Zeilen verschieben, und sie sind an Alt+ Downund Alt+ Upunter Windows und Mac und Ctrl+ Downund Ctrl+ Upunter Linux gebunden .


59
Und es scheint Alt+Upoder Alt+Downbewegt eine bestehende Linie auf und ab. Schön
Chris

2
Es ist erwähnenswert, dass die copyLines-Aktionen nicht im vollständigen Visual Studio vorhanden sind, sondern nur im Visual Studio-Code.
user45623

4
Werkzeuge | Optionen | Umwelt | Tastatur in VS2015
Mike Keskinov

15
Wissen Sie, wie man "Auswahl dupliziert"? Ich konnte keinen passenden Befehl finden :(
nZeus

25
Unter Linux ctrl+shift+alt+down/upfunktioniert nur für die Pfeiltasten des Nummernblocks.
Jack Steam

174

Tastaturkürzel finden Sie unter

Datei> Einstellungen> Tastaturkürzel

Standard-Tastaturkürzel sind:

Zeilen nach unten kopieren Aktion : shift+ alt+down

Aktion "Zeilen kopieren" : shift+ alt+up

Linien verschieben Aktion : alt+up

Linien nach unten verschieben Aktion : alt+down

Oder Sie können die Tastaturkürzel von überschreiben

Datei> Einstellungen> Tastaturkürzel

Und das bearbeiten keybindings.json

Beispiel:

[
    {
        "key": "ctrl+d",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+down",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus"
    }
]

Wenn Sie eine Linie weit verschieben müssen, können Sie mit Strg + C und Strg + X die aktuelle Linie problemlos kopieren / ausschneiden, ohne sie auswählen zu müssen. Und ctrl + L(Befehl expandLineSelection ) wählt eine Zeile aus. Durch Wiederholen von Strg + L werden zusätzliche Zeilen ausgewählt, wodurch die Blockauswahl vereinfacht wird. Oder Sie können einen groben Block mit der Maus auswählen und dann Strg + L drücken, um die Enden einzuschließen.
aamarks

Ich benutze Vscode 1.4, es funktioniert nicht,
Schatz

49

Es fehlt eine Antwort auf diese Frage: "So duplizieren Sie die Auswahl von Code". Ähnlich wie bei Sublime cmd/ ctrl+ shift+ doder Jetbrains cmd/ctrl + d-Verhalten .

Plugin installieren Doppelte Auswahl oder Zeile vom VS Code Marketplace

Doppelte Auswahl oder Zeile VS Code Plugin

Diese Erweiterung bietet Bindungen für ctrl+ d(Windows / Linux) und cmd+ d(MacOS). So passen Sie Tastaturkürzel an Einstellungen> - Tastaturkürzel:

{
  "mac": "cmd+d",
  "key": "ctrl+d",
  "command": "geeebe.duplicateText",
  "when": "editorTextFocus"
}

Hinweis: Die Verknüpfung führt auch die doppelte Zeile aus. Wenn Sie sie installieren, entfernen Sie die vorherige Verknüpfung ctrl+ (falls Sie dies zuvor getan haben), da sonst die doppelte Auswahl fehlerhaft sein kann.dcopyLinesDownAction


Ich war frustriert über die Verknüpfung "Zeilen nach unten kopieren", die sich nicht genau wie die Funktion "Sublime Text / Intellij Strg + D" verhielt (sie kopierte die gesamten Zeilen anstatt nur die Auswahl). Vielen Dank für den Hinweis auf dieses Plugin!
Timothé Malahieude

Ich wollte gerade vscode loswerden und atom installieren, aber diese Erweiterung hat mich daran gehindert. Die Standard-Duplikatfunktion von vscode entspricht nicht der Marke. Atom ist in dieser Hinsicht so viel besser.
Vikrant

31

In VScode nennen sie dies Copy Line Up undCopy Line Down

Gehen Sie im Menü zu:

Datei> Einstellungen> Tastaturkürzel

Überprüfen Sie hierzu die bereits zugewiesene Tastenkombination oder passen Sie Ihre an.

Manchmal funktioniert die standardmäßig zugewiesene Verknüpfung möglicherweise nicht, hauptsächlich aufgrund des Betriebssystems.

In meinem Ubuntu habe ich dies angepasst auf: Ctrl+ Shift+D

Geben Sie hier die Bildbeschreibung ein


24

In VSCode Ctrl + CCtrl+ wird Vdie gesamte folgende Zeile dupliziert.

Ich ziehe dies der akzeptierten Antwort vor, weil es nur einer Hand bedarf und sich viel natürlicher anfühlt.

Die akzeptierte Antwort wird es jedoch wahrscheinlich für die meisten Menschen tun Down sitzt auf der anderen Seite der Tastatur. Sie haben also zwei Möglichkeiten: Verwenden Sie beide Hände (linke Hand: L Shift+ L Alt+ rechte Hand :) Up/Downoder verwenden Sie mit einer Hand die rechte R Shift+ R Alt+ Up/Down. Die zweite Option fühlt sich meiner Meinung nach komisch an. Ich würde lieber die Option verwenden, bei der meine Hand natürlich auf der Tastatur sitzt, und wenn es eine Hand ist, noch besser.


7
Das Hauptproblem dabei ist, dass Sie verlieren, was in Ihrer Zwischenablage war
Chris


12

Beachten Sie, dass für Ubuntu - Anwender (<= 17.4), Unity Anwendungen CTRL+ ALT+ SHIFT+ Arrow Keyfür Programme in virtuellen Arbeitsbereichen, die Konflikte mit den VS - Code Verknüpfungen zu bewegen. Sie müssen neu binden editor.action.copyLinesDownActionundeditor.action.copyLinesUpAction den Konflikt vermeiden (oder die Ihres Arbeitsbereichs ändern).

Für Ubuntu 17.10+, das GNOME verwendet, scheint es, dass GNOME diese Tastenkombination gemäß seiner Dokumentation nicht auf die gleiche Weise verwendet. Wenn jedoch jemand, der Vanilla-Arbeitsbereiche unter 17.10 verwendet, dies bestätigen kann, kann dies für zukünftige Antwortsuchende hilfreich sein.


Ich bin auf Ubuntu 19.10 und Strg + Alt + Ab bewegt sich immer noch zwischen Arbeitsbereichen.
BeeOnRope

9
  • Für Jetbrains IDE-Benutzer, die auf VSCode migriert sind , kein Problem.

  • Installieren Sie:
    1) JetBrains IDE Keymap: Erweiterung
    2) vscode-Intellij-Idea-Keybindings- Erweiterung (Preferred)

  • Verwenden Sie dies Intellij Darcula Theme: Erweiterung

  • Die Keymap hat die meisten Tastaturkürzel von VS Code abgedeckt und macht VS Code „ JetBrains IDE like “.

  • Die obigen Erweiterungen importieren Tastenkombinationen von JetBrains in VS Code. Nach der Installation der Erweiterung und dem Neustart von VS Code können Sie VS Code wie IntelliJ IDEA, Webstorm, PyCharm usw. verwenden.


7

Für Windows :

Kopieren - shift+ alt+up

Nach unten kopieren - shift+ alt+down

Für Mac :

Kopieren - shift+ option+up

Nach unten kopieren - shift+ option+down

Für Linux :

Kopieren - ctrl+ shift+ alt+8

Nach unten kopieren - ctrl+ shift+ alt+2

Hinweis : Sie können die Tastaturkürzel für Visual Studio-Code ändern, indem Sie ctrl+ shift+p drücken , dann die Tastenkombination "Öffnen" in die Palette eingeben und dann die Eingabetaste drücken , damit eine neue Datei geöffnet wird ( Tastaturkürzeldatei ). alle Tastenkombinationen angezeigt werden und können die Tastenkombinationen ändern, indem Sie zweimal auf die jeweilige Tastenkombination klicken und dann Ihre eigene Tastenkombination eingeben und schließlich die Eingabetaste drücken.

Hoffe das hilft jemandem!


6

Wenn Sie aus Sublime Text stammen und die neue Schlüsselbindung nicht neu lernen möchten, können Sie diese Erweiterung für Visual Code Studio verwenden.

Sublime Text Keymap für VS Code

Diese Erweiterung portiert die beliebtesten Sublime Text-Tastaturkürzel zu Visual Studio Code. Nach der Installation der Erweiterung und dem Neustart von VS Code sind jetzt Ihre bevorzugten Tastaturkürzel von Sublime Text verfügbar.

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings


3

Die direkte Duplizierung von Zeilen (ohne den Schritt in der Zwischenablage) wird von der Erweiterung Contextual Duplicate vorgeschlagen .

Es ist auf ctrl+ abgebildetK D


1

Für Fedora 29 Workstation (Gnome 3.30.2) und Ubuntu-Benutzer.

Lösen Sie unnötige Tastaturkombinationen für den linken / rechten Arbeitsbereich und listen Sie sie nach Terminal auf

$ gsettings list-recursively | grep -E "org.gnome.desktop.wm.keybindings move-to-workspace-|org.gnome.desktop.wm.keybindings switch-to-workspace-"

Binde sie los

$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "[]"

Setzen Sie doppelte Verknüpfungen zurück

  • Super + Pgdown / PgUp, Strg + Alt + Abwärtspfeil / Aufwärtspfeil
  • Super + Umschalt + PgDown / PgUp, Strg + Alt + Umschalt + Abwärtspfeil / Aufwärtspfeil

Sie können einfach zurückgesetzt werden, um mit nur einer Verknüpfung unter Einstellungen> Geräte>
Nur Tastatur zu arbeiten. Geben Sie erneut Super + PgUp ein, um beispielsweise "In Arbeitsbereich oben verschieben" zu setzen.

Geben Sie hier die Bildbeschreibung ein

Jetzt mit weniger doppelten Verknüpfungen in fedora29 müssen alle vscode-Verknüpfungen für Linux einwandfrei funktionieren


0

In meiner letzten Version von Visual Studio Code 1.30.2 wird es automatisch geändert


ctrl + D


In vscode wird dadurch das Wort unter dem Cursor hervorgehoben. Vielleicht hat Notepad ++ die Tastenkombination Strg + D verwendet. Ich gehe einfach aus dem Gedächtnis.
Flat Cat

0

Für Linux-Benutzer: Mir ist aufgefallen, dass Sie unter Linux häufig winSchlüssel verwenden müssen. Für Windows ist die Kombination:
ctrl+ shift + alt+up

dann ist für Linux gleich einfach winSchlüssel hinzufügen :
ctrl+ shift + win+ alt+up

Ich habe das jetzt in ein paar Combos bemerkt. Sagen wir ctrl+ alt + Lsperrt Linux, aber ctrl+ win + alt+ Lfür Intellij-Formatcode. Unter Windows ist nur ctrl+ alt +, Lum den Code zu formatieren.


0

Gehen Sie einfach zu Datei -> Einstellungen -> Tastenkombinationen. Dort können Sie jede gewünschte Tastenkombination ändern. Suchen Sie nach Duplikaten und ändern Sie sie in das, was Sie immer in anderen Editoren verwenden. Ich habe zu Strg + D gewechselt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.