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.



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" }
]

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.


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


9

Buscar copyLinesDownActiono copyLinesUpActionen los atajos de teclado

Por lo general, es SHIFT+ ALT+


7

Ubuntu:

  • Línea duplicada: Ctrl+ Alt+ Shift+8
  • Duplicar línea hacia abajo: Ctrl+ Alt+ Shift+2

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



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.


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"
}

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;



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

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.