¿Cómo duplico una línea o selección en Visual Studio Code?

734

Usando el Código de Visual Studio de Microsoft, ¿cómo duplico una línea de código y luego la muevo hacia arriba y hacia abajo? (Similar al comportamiento + cmd+ de Sublime )shiftd

Es una característica que uso constantemente, y estoy luchando por usar Visual Studio Code sin él.

Chris
fuente
¿Responde esto a tu pregunta? Línea duplicada en Visual Studio Code
Arash.Zandi

Respuestas:

1329

Los comandos que está buscando son editor.action.copyLinesDownActiony editor.action.copyLinesUpAction.

Puede ver las combinaciones de teclas asociadas seleccionando: Archivo> Preferencias> Atajos de teclado

Ventanas:

Shift+ Alt+ Downy Shift+ Alt+Up

Mac:

Shift+ Option+ Downy Shift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ Downy Ctrl+ Shift+ Alt+Up

(Podría necesitar usar el teclado numérico Downy Uppara Linux)

Además, los comandos editor.action.moveLinesUpActiony editor.action.moveLinesDownActionson los que mueven las líneas y están vinculados a Alt+ Downy Alt+ Upen Windows y Mac y Ctrl+ Downy Ctrl+ Upen Linux.

Benjamin Pasero
fuente
59
Y parece Alt+Upo Alt+Downmueve una línea existente hacia arriba y hacia abajo. Niza
Chris
2
Vale la pena señalar que las acciones copyLines no existen en Visual Studio completo, solo en Visual Studio Code.
user45623
44
Herramientas | Opciones | Medio ambiente | Teclado en VS2015
Mike Keskinov
15
¿Sabes cómo "duplicar la selección"? No pude encontrar el comando apropiado :(
nZeus
25
En Linux ctrl+shift+alt+down/upsolo funciona para las teclas de flecha del teclado numérico.
Jack Steam
174

Puede encontrar métodos abreviados de teclado en

Archivo> Preferencias> Atajos de teclado

Los atajos de teclado predeterminados son,

Copiar líneas hacia abajo Acción : shift+ alt+down

Copiar líneas de acción : shift+ alt+up

Acción de mover líneas arriba : alt+up

Mover líneas hacia abajo Acción : alt+down

O puede anular los atajos de teclado de

Archivo> Preferencias> Atajos de teclado

Y editando el keybindings.json

Ejemplo:

[
    {
        "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"
    }
]
manukn
fuente
Además, si tiene que mover una línea lejos, ctrl + C y ctrl + X copiarán / cortarán fácilmente la línea actual sin tener que seleccionarla. Y ctrl + L(comando expandLineSelection ) seleccionará una línea. La repetición de Ctrl + L selecciona líneas adicionales, lo que facilita la selección de bloques. O puede hacer una selección de bloque aproximado con el mouse y luego ctrl + L para incluir los extremos.
aamarks
estoy usando vscode 1.4 no funciona querido
Kamlesh
49

Se pierde una respuesta a esta pregunta, "Cómo duplicar la selección de código" Similar al comportamiento de Sublime cmd/ ctrl+ shift+ do Jetbrains cmd/ / ctrl+ d.

Instalar complemento Duplicar selección o línea de VS Code Marketplace

Selección duplicada o complemento de código VS de línea

Esta extensión proporciona enlaces para ctrl+ d(Windows / Linux) y cmd+ d(MacOS). Para personalizar los atajos de teclado Preferencias -> Atajos de teclado:

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

Nota: El acceso directo también hace la línea duplicada, por lo que si lo instala, elimine su acceso directo anterior ctrl+ (si lo hizo antes) de lo contrario, la selección duplicada puede fallar.dcopyLinesDownAction

Antman Slaper Man
fuente
Me sentí frustrado por el acceso directo "copiar líneas abajo" que no se comportaba exactamente como Sublime Text / Intellij Ctrl + D (copió todas las líneas en lugar de solo la selección). ¡Gracias por señalar este complemento!
Timothé Malahieude
Estaba a punto de deshacerme de vscode e instalar atom, pero esta extensión me lo ha impedido. la funcionalidad duplicada predeterminada de vscode no está a la altura. átomo es mucho mejor en este sentido.
Vikrant
31

En VScode, llaman a esto Copy Line UpyCopy Line Down

Desde el menú, vaya a:

Archivo> Preferencias> Atajos de teclado

Verifique el atajo de teclado ya asignado para esto, o ajuste el suyo.

A veces, el acceso directo asignado predeterminado puede no funcionar, principalmente debido al sistema operativo.

En mi Ubuntu, ajusté esto a: Ctrl+ Shift+D

ingrese la descripción de la imagen aquí

Nahid
fuente
24

En VSCode Ctrl + CCtrl+ Vduplica la línea completa a continuación.

Prefiero esto a la respuesta aceptada, porque solo requiere una mano para hacer esto y se siente mucho más natural.

La respuesta aceptada probablemente lo hará para la mayoría de las personas, sin embargo, se Downencuentra al otro lado del teclado. Entonces tiene dos opciones, use ambas manos (Mano izquierda: L Shift+ L Alt+ Mano derecha:) Up/Down, o con una sola mano use la derecha R Shift+ R Alt+ Up/Down. La segunda opción se siente rara en mi opinión. Prefiero usar la opción donde mi mano se sienta naturalmente en el teclado, y si es una mano, aún mejor.

Nick De Beer
fuente
77
El problema principal con eso es que pierdes lo que estaba en tu portapapeles
Chris
20

Prueba ALT+ SHIFT+ UP/DOWN

¡Funcionó para mí!

eildiz
fuente
¡Esta debería ser la respuesta aceptada!
Fatih Aktaş
Funcionó para mí justo ahora.
Mansoorkhan Cherupuzha
12

Tenga en cuenta que para los usuarios de Ubuntu (<= 17.4), Unity usa CTRL+ ALT+ SHIFT+ Arrow Keypara mover programas a través de espacios de trabajo virtuales, lo que entra en conflicto con los accesos directos del Código VS. Deberá volver a vincular editor.action.copyLinesDownActiony editor.action.copyLinesUpActionevitar el conflicto (o cambiar las combinaciones de teclas del espacio de trabajo).

Para Ubuntu 17.10+ que usa GNOME, parece que GNOME no usa esta combinación de teclas de la misma manera de acuerdo con su documentación, aunque si alguien que usa espacios de trabajo de vainilla en 17.10 puede confirmar esto, podría ser útil para futuros buscadores de respuestas.

David Bodow
fuente
Estoy en Ubuntu 19.10 y Ctrl + Alt + Abajo todavía se mueve entre espacios de trabajo.
BeeOnRope
10
  • Para los usuarios de Jetbrains IDE que migraron a VSCode , no hay problema.

  • Instalar:
    1) JetBrains IDE mapa de teclado: Extensión
    2) vscode-IntelliJ IDEA-combinaciones de teclas de Extensión (Preferred)

  • Use esto Intellij Darcula Theme: extensión

  • El mapa de teclas ha cubierto la mayoría de los métodos abreviados de teclado de VS Code, y hace que VS Code sea más parecido a JetBrains IDE .

  • Las extensiones anteriores importan las combinaciones de teclas de JetBrains a VS Code. Después de instalar la extensión y reiniciar VS Code, puede usar VS Code como IntelliJ IDEA, Webstorm, PyCharm , etc.

Sumit Shukla
fuente
7

Para Windows :

Para copiar - shift+ alt+up

Para copiar hacia abajo - shift+ alt+down

Para mac :

Para copiar - shift+ option+up

Para copiar hacia abajo - shift+ option+down

Para linux :

Para copiar - ctrl+ shift+ alt+8

Para copiar hacia abajo - ctrl+ shift+ alt+2

Nota : Puede cambiar la combinación de teclas de los métodos abreviados de teclado para el código visual de estudio presionando ctrl+ shift+p , luego escriba el método abreviado de teclado abierto en la paleta y luego presione Intro para que se abra el nuevo archivo (archivo de métodos abreviados del teclado) y puede ver todos los métodos abreviados sobre su y puede cambiar las combinaciones de teclas haciendo clic dos veces sobre la combinación de teclas respectiva y luego ingresando su propia combinación de teclas, finalmente presione enter.

Espero que esto ayude a alguien!

Aman Kumar Gupta
fuente
6

Si viene de Sublime Text y no desea volver a aprender el nuevo enlace de teclas, puede usar esta extensión para Visual Code Studio.

Sublime Text Keymap para el código VS

Esta extensión transfiere los atajos de teclado Sublime Text más populares a Visual Studio Code. Después de instalar la extensión y reiniciar VS Code, sus atajos de teclado favoritos de Sublime Text ya están disponibles.

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

cyberfly
fuente
3

La duplicación de línea contextual propone la duplicación de línea directa (sin el paso del portapapeles) .

Está mapeado en ctrl+K D

CharlesB
fuente
1

Para la estación de trabajo Fedora 29 (Gnome 3.30.2) y usuarios de Ubuntu.

Desvincula combinaciones innecesarias de teclado del espacio de trabajo izquierdo / derecho, enumera por terminal

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

Desátalos

$ 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 "[]"

Restablecer accesos directos duplicados

  • Super + Pgdown / PgUp, Ctrl + Alt + Flecha abajo / Flecha arriba
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + Flecha abajo / Flecha arriba

Se pueden restablecer fácilmente para que funcionen con solo un acceso directo en Configuración> Dispositivos>
Solo teclado, escriba nuevamente Super + PgUp para "Mover al espacio de trabajo arriba" como ejemplo.

ingrese la descripción de la imagen aquí

Ahora con menos accesos directos duplicados en fedora29, todos los accesos directos de vscode para Linux deben funcionar bien

christianbueno.1
fuente
0

en mi última versión Visual Studio Code 1.30.2 se cambiará automáticamente a


ctrl + D

Bouchaib Ennakr
fuente
En vscode esto resalta la palabra debajo del cursor. Quizás Notepad ++ usó el atajo ctrl + D. Solo voy de memoria.
Flat Cat
0

Para usuarios de Linux: me di cuenta de que en Linux a menudo necesitas usar la winclave. Para Windows combo es:
ctrl+ shift + alt+up

entonces para Linux es igual solo agregue la winclave:
ctrl+ shift + win+ alt+up

Me di cuenta de eso en algunos combos ahora. Digamos que ctrl+ alt + Lbloquea Linux, pero ctrl+ win + alt+ Lpara el código de formatos Intellij. En Windows es solo ctrl+ alt + Lpara formatear el código.

mi-
fuente
0

Simplemente vaya al archivo -> preferencias -> métodos abreviados de teclado. Allí puede cambiar cualquier método abreviado que desee. busque duplicados y cámbielos a lo que siempre usa en otros editores. Cambié a ctrl + D

Amin Noura
fuente