Riga duplicata in Visual Studio Code


146

Sto cercando di trovare la scorciatoia per duplicare una riga in Visual Studio Code (sto usando 1.3.1) Ho provato l'ovvio CTRL+ Dma non sembra funzionare.



Ctrl + D per la duplicazione della riga non è così ovvio: funziona in Notepad ++, ad esempio, ma elimina la riga corrente in Eclipse :)
kol

Vedere l' estensione Contextual Duplicate
CharlesB

per impostazione predefinita, CTRL + Dseleziona semplicemente l'occorrenza successiva selezionata rispetto ad altri IDE.
Amir Kian

Risposte:


253

Fare clic su File > Preferenze > Scorciatoie da tastiera :

inserisci qui la descrizione dell'immagine

Cerca copyLinesDownActiono copyLinesUpActionnelle scorciatoie da tastiera

Di solito è SHIFT+ ALT+


Aggiornamento per Ubuntu:

Sembra che Ubuntu stia nascondendo quella scorciatoia per non essere vista da VSCode (cioè lo usa probabilmente da solo). C'è un problema al riguardo su GitHub .

Per lavorare in Ubuntu dovrai definire il tuo collegamento, ad esempio per copiare la riga usando ctrl+ shift+ alt+ je CTRL+ SHIFT+ ALT+ kpotresti usare un keybindings.jsoncome questo:

[
    { "key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
                                    "when": "editorTextFocus && !editorReadonly" },
    { "key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
                                    "when": "editorTextFocus && !editorReadonly" }
]

Su Mac: Codice> Preferenze> Scorciatoie da tastiera. Maiusc + Opzione + Freccia giù.
jarmod

2
La risposta di @DAXaholic era corretta se hai bisogno di una soluzione anche semplice, tieni il cursore sulla linea che vuoi duplicare e premi ctrl + ce ctrl + v. funziona bene
Gopi P

1
Su Ubuntu 16.04, per impostazione predefinita, le scorciatoie Ctrl+ Shift+ Up Arrow/ Down Arrowsono mappate per spostare le finestre in aree di lavoro diverse. È possibile modificarlo in Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigationquindi premere Backspaceper eliminare le scorciatoie indesiderate.
mowen

1
Il mio è associato a Ctrl + Maiusc + Alt + Freccia giù, ma in realtà non fa nulla quando faccio clic su quei pulsanti.
Aaron Franke

104

Il duplicato può essere ottenuto con CTRL+ Ce CTRL+ Vcon il cursore nella riga senza selezionare nulla.


35
Non ho downvoting, ma immagino che questo non sia accettabile per l'OP poiché copia la riga negli appunti, che è un'ottima ragione per volere un comando "riga duplicata" invece di un comando copia / incolla.
Matt Dell

1
Questo non funziona se l' editor.emptySelectionClipboardopzione è impostata su false(la mia configurazione preferita).
Bill_Stewart

8
Questo spazza via quello che avevo negli appunti
Kris Kilton

1
Una cosa interessante che ho notato in questo metodo è che non è necessario rilasciare il tasto Ctrl dopo aver premuto 'C' (rilascia solo dopo aver rilasciato V)
Arun

Ciò rovina l'intero scopo della duplicazione istantanea della linea.
Arman Karimi

53

È possibile utilizzare quanto segue a seconda del sistema operativo:

Finestre:

Shift+ Alt+ o Shift+ Alt+

Mac:

Shift+ Option+ o Shift+ Option+

Linux:

Ctrl+ Shift+ Alt+ o Ctrl+ Shift+ Alt+

Nota: per alcune distribuzioni Linux utilizzare le frecce del tastierino numerico


9

Cerca copyLinesDownActiono copyLinesUpActionnelle scorciatoie da tastiera

Di solito è SHIFT+ ALT+


7

Ubuntu:

  • Line Up duplicata: Ctrl+ Alt+ Shift+8
  • Duplica riga in basso: Ctrl+ Alt+ Shift+2

1
funziona perfettamente bene per me. Grazie per la risposta.
singhkumarhemant

1
Questa è in realtà una buona soluzione (funziona su Ubuntu 20 e 19) che non richiede alcuna modifica all'impostazione predefinita. Potrebbe non sembrare molto intuitivo ma 8 e 2 sono effettivi su e giù nel NumPad
user273711



2

C'è un nuovo comando nella v1.40: editor.action.duplicateSelection non a nessuna associazione di tasti.

Duplica la selezione

Abbiamo aggiunto una nuova azione denominata Duplica selezione. Quando viene eseguita, la selezione corrente verrà duplicata e il risultato verrà selezionato. Quando non è presente alcuna selezione, la riga corrente verrà duplicata, il tutto senza scrivere negli appunti di sistema.

da https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md

Alcuni potrebbero trovarlo utile in determinate situazioni.


0

Altre 2 scorciatoie molto utili sono per spostare le linee selezionate su e giù, come fa il testo sublime ...

{
  "key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
  "when" : "editorTextFocus && !editorReadonly"
},

e

{
  "key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
  "when" : "editorTextFocus && !editorReadonly"
}

Sbagliato. Non è necessaria selectuna riga in ST per duplicarla.
Verde

le scorciatoie sono per spostare le "linee" selezionate
Nishant Baranwal

0

Versione codice VC: 1.22.2 Vai a: Codice -> Preferenze -> Scorciatoie da tastiera (cmd + K; cms + S); Modifica (modifica): "Aggiungi selezione alla corrispondenza di ricerca successiva": "cmd + cosa vuoi" // per me questo è "cmd + D" e io pur cmd + F; Vai a "Copia riga in basso": "cmd + D" // modifica questo e imposta cmd + D per esempio E per me questo è tutto - io uso mac;



0

È possibile creare combinazioni di tasti che sono attive solo quando Vim per VSCode è attivo e in una certa modalità (ad esempio, "Normale", "Inserisci" o "Visuale").

Per farlo, usa Ctrl+ Shift+ Pper aprire la palette dei comandi di VSCode, quindi cerca "Preferenze: Apri scorciatoie da tastiera (JSON)" - selezionando questa opzione si aprirà keybindings.json . Qui è possibile aggiungere associazioni personalizzate.

Ad esempio, ecco i classici comandi VSCode per spostare / duplicare le linee ottimizzati per facilità d'uso in Vim ..

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

Ora possiamo usare questi comandi compatibili con Vim in VSCode!

  • Alt+ Jper spostare una riga verso il basso
  • Alt+ Kper spostare una riga in alto
  • Shift+ Alt+ Jper duplicare una riga verso il basso
  • Shift + Alt+ Kper duplicare una formazione

0

Aggiornamento che può aiutare gli utenti di Ubuntu se desiderano ancora utilizzare e invece di un altro set di chiavi.

Ho appena installato una nuova versione di VSCode su Ubuntu 18.04 LTS e avevo comandi duplicati per Add Cursor AboveeAdd Cursor Below

Associazioni di tasti originali

Ho appena rimosso gli attacchi che utilizzavano Ctrle aggiunto il mio con quanto segue

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Nuove combinazioni di tasti


0

Ci sono diversi modi.

  • Premere CNTRL + C e CNTRL + V.
  • Premi MAIUSC + ALT + freccia verso il basso per duplicare la linea verso il basso
  • Premi MAIUSC + ALT + freccia in alto per duplicare la linea verso l'alto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.