Línea duplicada en Visual Studio Code

146

Estoy tratando de encontrar el acceso directo para duplicar una línea en Visual Studio Code (estoy usando 1.3.1) Intenté lo obvio CTRL+ Dpero eso no parece funcionar.

TheWebGuy
fuente
Ctrl + D para la duplicación de líneas no es tan obvio: funciona en Notepad ++, por ejemplo, pero elimina la línea actual en Eclipse :)
kol
Vea la extensión duplicada contextual
CharlesB el
de manera predeterminada, CTRL + Dsolo seleccione la siguiente aparición que se seleccionó frente a otros IDE.
Amir Kian

Respuestas:

253

Haga clic en Archivo > Preferencias > Atajos de teclado :

ingrese la descripción de la imagen aquí

Buscar copyLinesDownActiono copyLinesUpActionen los atajos de teclado

Por lo general es SHIFT+ ALT+


Actualización para Ubuntu:

Parece que Ubuntu está ocultando ese atajo para que VSCode no lo vea (es decir, probablemente lo usa solo). Hay un problema al respecto en GitHub .

Para trabajar en Ubuntu, tendrá que definir su propio acceso directo, por ejemplo, para copiar la línea usando ctrl+ shift+ alt+ jy CTRL+ SHIFT+ ALT+ k, puede usar un comando keybindings.jsoncomo este:

[
    { "key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
                                    "when": "editorTextFocus && !editorReadonly" },
    { "key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
                                    "when": "editorTextFocus && !editorReadonly" }
]
DAXaholic
fuente
En Mac: Código> Preferencias> Atajos de teclado. Mayús + Opción + Flecha abajo.
jarmod
2
La respuesta de @DAXaholic fue correcta si necesita una solución simple, solo mantenga el cursor en línea que desea duplicar y presione ctrl + c y ctrl + v. funciona bien
Gopi P
1
En Ubuntu 16.04, de forma predeterminada, los accesos directos Ctrl+ Shift+ Up Arrow/ Down Arrowse asignan a mover ventanas a diferentes espacios de trabajo. Puede cambiar esto y Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigationluego presionar Backspacepara eliminar los accesos directos no deseados.
mowen
1
El mío está vinculado a Ctrl + Shift + Alt + Flecha abajo, pero en realidad no hace nada cuando hago clic en esos botones.
Aaron Franke
104

El duplicado se puede lograr con CTRL+ Cy CTRL+ Vcon el cursor en la línea sin nada seleccionado.

rylek90
fuente
35
No he votado negativamente, pero me imagino que esto no es aceptable para el OP, ya que esto copia la línea en el portapapeles, que es una muy buena razón para querer un comando de "línea duplicada" en lugar de un comando copiar / pegar.
Matt Dell
1
Esto no funciona si la editor.emptySelectionClipboardopción está establecida en false(mi configuración preferida).
Bill_Stewart
77
Esto impresiona lo que tenía en mi portapapeles
Kris Kilton
1
Una cosa interesante que noté en este método es que no es necesario liberar la tecla Ctrl después de presionar 'C' (liberar solo después de liberar V)
Arun
Esto arruina todo el propósito de la duplicación instantánea de líneas.
Arman Karimi
52

Puede usar lo siguiente según su sistema operativo:

Ventanas:

Shift+ Alt+ o Shift+ Alt+

Mac:

Shift+ Option+ o Shift+ Option+

Linux:

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

Nota: Para algunas distribuciones de Linux, use las flechas del teclado numérico

Mwiza
fuente
9

Buscar copyLinesDownActiono copyLinesUpActionen los atajos de teclado

Por lo general, es SHIFT+ ALT+

Jcesar
fuente
7

Ubuntu:

  • Línea duplicada: Ctrl+ Alt+ Shift+8
  • Duplicar línea hacia abajo: Ctrl+ Alt+ Shift+2
Sabunkar Tejas Sahailesh
fuente
1
trabajando perfectamente bien para mí. gracias por la respuesta.
singhkumarhemant
1
Esta es realmente una buena solución (trabajando en Ubuntu 20 y 19) que no requiere ningún cambio en la configuración predeterminada. Puede que no parezca muy intuitivo, pero 8 y 2 son reales arriba y abajo en el NumPad
user273711
5

Use lo siguiente: Shift+ Alt+ ( o )

Luciano Marinho
fuente
3

Mac: Duplicar línea hacia abajo: shift+ option+

Bretaña
fuente
2

Hay un nuevo comando en v1.40: editor.action.duplicateSelectiondesvinculado a cualquier combinación de teclas.

Selección duplicada

Hemos agregado una nueva acción llamada Duplicar selección. Cuando se ejecuta, la selección actual se duplicará y se seleccionará el resultado. Cuando no hay selección, la línea actual se duplicará, todo sin escribir en el portapapeles del sistema.

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

Algunos pueden encontrarlo útil en ciertas situaciones.

marca
fuente
0

Otros 2 atajos muy útiles son mover líneas seleccionadas hacia arriba y hacia abajo, como lo hace el texto sublime ...

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

y

{
  "key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
  "when" : "editorTextFocus && !editorReadonly"
}
Luciano Marinho
fuente
Incorrecto. No necesita selectuna línea en ST para duplicarla.
Verde
los atajos son para mover las "líneas" seleccionadas
Nishant Baranwal
0

Versión del código VC: 1.22.2 Vaya a: Código -> Preferencias -> Métodos abreviados de teclado (cmd + K; cms + S); Cambiar (editar): "Agregar selección a la siguiente coincidencia de búsqueda": "cmd + lo que quieras" // para mí esto es "cmd + D" y yo pur cmd + F; Vaya a "Copiar línea abajo": "cmd + D" // edite esto y configure cmd + D por ejemplo Y para mí eso es todo: uso mac;

Carnaru Valentin
fuente
0

Ventanas:

Duplicar línea hacia abajo: Ctrl+ Shift+D

Umair Sultan
fuente
3
Para mí, esto desencadena el depurador incorporado.
Mark Carpenter Jr el
Tu respuesta es correcta, muchas gracias, la uso en mi ubuntu.
Mohammad Habibur Rahman
0

Es posible crear combinaciones de teclas que solo están activas cuando Vim para VSCode está activado y en un modo determinado (es decir, "Normal", "Insertar" o "Visual").

Para hacerlo, use Ctrl+ Shift+ Ppara abrir la Paleta de comandos de VSCode, luego busque "Preferencias: Abrir atajos de teclado (JSON)": al seleccionar esta opción, se abrirán keybindings.json . Aquí, se pueden agregar enlaces personalizados.

Por ejemplo, aquí están los comandos clásicos de VSCode para mover / duplicar líneas ajustadas para facilitar su uso en 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'"
      },
    ]

¡Ahora podemos usar estos comandos compatibles con Vim en VSCode!

  • Alt+ Jpara mover una línea hacia abajo
  • Alt+ Kpara mover una línea hacia arriba
  • Shift+ Alt+ Jpara duplicar una línea hacia abajo
  • Shift + Alt+ Kpara duplicar una línea
Emmanuel Price
fuente
0

Actualización que puede ayudar a los usuarios de Ubuntu si todavía quieren usar el y lugar de otro conjunto de claves.

Acabo de instalar una versión nueva de VSCode en Ubuntu 18.04 LTS y tenía comandos duplicados para Add Cursor AboveyAdd Cursor Below

Combinaciones de teclas originales

Acabo de eliminar los enlaces que usé Ctrly agregué los míos con lo siguiente

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Nuevas combinaciones de teclas

Terrence
fuente
0

Hay diferentes formas

  • Presione CNTRL + C y CNTRL + V.
  • Presione Shift + alt + flecha abajo para duplicar la línea hacia abajo
  • Presione Shift + alt + uparrow para duplicar la línea al revés
Adhil Muhammed
fuente