Múltiples cursores en Visual Studio Code [cerrado]

580

¿Cómo puede crear múltiples cursores al editar en VS Code? Estoy interesado tanto en macOS como en Windows.

Kiba
fuente
114
Simplemente mantenga presionado el Altbotón y comience a hacer clic en diferentes lugares. Eso es.
nombre de usuario
41
CMD + Alt + Flecha abajo es lo que quieres. stackoverflow.com/questions/30037808/…
Valentine Bondar
44
Si está utilizando una Mac, MAYÚS + CTRL + ABAJO / ARRIBA es lo que realmente desea a partir de 1.14.2.
Ben Creasy
2
Además, parece que Cmd + Alt + Down está asignado por editor.action.goToDeclaration de forma predeterminada a partir de 1.14.2
Ben Creasy
15
Es una pena que la gente decidiera cerrar un tema que es de un interés tan obvio que tiene casi 400 votos y todavía tiene visitantes casi 4 años después de su publicación. Deseo que los editores SO se relajen un poco y permitan que la comunidad crezca y se alienten mutuamente. Tengo curiosidad por saber qué respuestas pertinentes surgirán con el conocimiento de 2019. :(
Mike Williamson

Respuestas:

580

Presione Alty haga clic. Esto funciona en Windows y Linux *, y también debería funcionar en Mac.

Más funciones de cursor múltiple ahora están disponibles en Visual Studio Code 0.2:

Las mejoras de cursor múltiple
Ctrl+D( Cmd+Den Mac) seleccionan la siguiente aparición de palabra debajo del cursor o de la selección actual
Ctrl+K Ctrl+Dmueve el último cursor agregado a la siguiente aparición de palabra debajo del cursor o de la selección actual
Los comandos usan matchCase de manera predeterminada. Si el widget de búsqueda está abierto, la configuración del widget de búsqueda (matchCase / matchWholeWord) se usará para determinar la próxima aparición
Ctrl+U( Cmd+Uen Mac) deshace la última acción del cursor, por lo que si agregó un cursor demasiado o cometió un error, puede presione Ctrl+U( Cmd+Uen Mac) para volver al estado anterior del cursor. Agregar cursor hacia arriba o hacia abajo ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down en Mac) ahora revela el último cursor agregado para que sea más fácil trabajar con múltiples cursores en más de 1 altura de ventana gráfica a la vez (es decir, seleccione 300 líneas y solo 80 caben en la ventana gráfica).

Esto hace que sea mucho más fácil introducir múltiples cursores

* Conflicto de ventana de arrastre de Linux:

Algunas distribuciones (por ejemplo, Ubuntu) asignan arrastrar ventanas a Alt+LeftMouse, lo que entrará en conflicto con VSCode.

Entonces, las versiones recientes de VSCode le permiten alternar entre Alt+LeftMousey Ctrl+LeftMousedebajo del menú Selección, como se detalla en otra respuesta .

Alternativamente, puede cambiar las asociaciones de teclas del sistema operativo utilizando gsettingscomo se menciona en otra respuesta .

Vilicvane
fuente
20
Atajos de teclado ? Entiendo que es comando + clic. Pero eso es asqueroso ... no es una forma rápida :(
Kiba
8
F2 o Ctrl + F2 pueden ayudar. Pero no he encontrado algo como Ctrl + D.
vilicvane
13
Alt + clic no parece funcionar en Linux. Lo que funcionó para mí fue Ctrl + shift + izquierda / derecha / arriba / abajo
Yonatan Simson
18
alt + shift + clic en mac (2017)
Hoff
55
hmmm, ctrl + alt + arriba o abajo gira mi pantalla (en win10) en lugar de cursor múltiple
Reinsbrain
159

Cursores / selección de varias palabras (y varias líneas) en código VS

Multi palabra:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lselecciona todas las instancias de la palabra resaltada actual
  • Ctrl+D/ ⌘+Dselecciona la siguiente instancia ... y la siguiente ... etc.

Multilínea:

Para la selección de varias líneas , Ctrl+Alt+Down/ ⌘+Alt+Shift+Downextenderá su selección o posición del cursor a la siguiente línea. Ctrl+Right/ ⌘+Rightse moverá al final de cada línea, sin importar cuánto tiempo. Para escapar de la selección de varias líneas, presione Esc.

Consulte las combinaciones de teclas del código VS (sistema operativo sensible)

Dave Everitt
fuente
15
Ja, ja, en mi máquina, el controlador de video Intel tiene una tecla de acceso rápido Ctrl-Alt-Down para hacer que la pantalla se ponga boca abajo. Me tomó por sorpresa
:)
3
¿Por qué no es lo mismo que SSMS (y presumiblemente Visual Studio), que usa Shift-Alt-Down / Up, no Ctrl-Alt-Down ???
Ingeniero invertido
@DaveBoltman - ¡No lo sé! Pero puedes personalizar las combinaciones de teclas.
Dave Everitt
2
Ctrl-Alt-Down hace que tu pantalla se ponga boca abajo? ¿Como cuántos usuarios necesitaban que estuviera en una tecla de acceso rápido? 🙄
gman
3
Para desactivar la tonta tecla de acceso rápido de Intel, puede hacer clic derecho en el escritorio> Opciones gráficas> Teclas de acceso rápido> Desactivar
alxgb
138

Tuve un problema con la tecla ALT, la solución es cambiar alt+clickcomo una tecla de acceso rápido Gnome que activa la selección de múltiples cursores en VSCode, super+clickejecutando:

gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"   

Fuente: http://2buntu.com/articles/1529/visual-studio-code-comes-to-linux/

Ivan Ermilov
fuente
77
¡+1 este método funciona! Simplemente lo verifiqué con Ubuntu 14.04.05. Anteriormente intenté dconf-editory cambié las CompizConfigconfiguraciones del complemento "mover ventana" y lo estropeé y casi rompí mi Ubuntu.
Dimitry K
2
Esto funciona en Ubuntu!
jonan.pineda
11
Uso gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"para Linux Mint (canela).
vossad01
¡Increíble! Funciona en Ubuntu 16.04.
Bruno Gomes
1
Si no desea tocar la configuración predeterminada de su sistema, también puede usar "Selección> Cambiar a CTRL + Clic para Multi-Cursor". Esto funciona en Linux Mint, por lo que también debería funcionar en Ubuntu.
lsblsb
125

Mayo de 2017
A partir de la versión 1.13 Agregue múltiples cursores con Ctrl/ Cmd+Click

VSCodelos desarrolladores han introducido una nueva configuración editor.multiCursorModifierpara cambiar la clave modificadora para aplicar múltiples cursores a Cmd+ Clicken macOS y Ctrl+ Clicken Windows y Linux. Esto permite a los usuarios que vienen de otros editores, como Sublime Text o Atom, continuar usando el modificador de teclado con el que están familiarizados.

La configuración se puede establecer en:

  • ctrl/Cmd- Mapas para Ctrlen Windows y Cmden macOS.
  • alt- El valor predeterminado existente Alt.

También hay un nuevo elemento de menú Use Ctrl+ Clickpara Multi-Cursoren el Selectionmenú para alternar rápidamente esta configuración. ingrese la descripción de la imagen aquí

Los gestos Ir a definición y Abrir enlace también respetarán esta configuración y se adaptarán de manera que no entren en conflicto. Por ejemplo, cuando la configuración es ctrl/Cmd, se pueden agregar múltiples cursores con Ctrl/ Cmd+ Click, y abrir enlaces o ir a la definición se puede invocar con Alt+ Click.

Al solucionar el problema # 2106, ahora también es posible eliminar un cursor usando el mismo gesto encima de una selección existente.

Taras Yaremkiv
fuente
1
Me estaba volviendo loco por qué Ctrl + clic no funcionaba. No sabía que había una opción para alternarlo. :-)
ankush981
55
Configurar editor.multiCursorModifierfrom alt en ctrlCmd funcionó muy bien. Ahora todo lo que tengo que hacer es ctrl + clic y usará múltiples cursores :) Muchas gracias!
protoEvangelion
Puedo cambiar a Ctrl + clic, funciona, pero para ir a la definición de clase o algo se ha ido, ¿cómo puedo solucionarlo?
Vuong Tran
Esta es la respuesta más útil. En la mayoría de los editores, CTRL + clic se utiliza para la selección múltiple. No es necesario modificar el comportamiento del sistema operativo para que un editor funcione. Esta opción modifica el comportamiento de la selección múltiple al patrón más utilizado.
Ruby Racer
83

Pruebe Ctrl+ Alt+ Shift+ ⬇ / ⬆, sin mouse, o mantenga presionada la tecla "alt" y haga clic en todas las líneas que desee.

Nota : Probado en Windows.

Erivan
fuente
21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆funciona para mí en Mac con la versión 1.15.1.
Tyler Collier
2
En Windows 10 puedo hacerlo sin elshift
Pini Cheyni
2
¡También puedes usar la página arriba / abajo para ir más rápido!
Maxime
sin SHIFTque no funcionara para mí gracias
BartusZak
1
Instalé la extensión Smart Multi-cursor con algunas características avanzadas, con acceso directo Cmd + Alt + (Arriba / Abajo) para crear el cursor múltiple.
Danny
47

Cmd+ Option+ Shift⬇ / ⬆me funciona en el VSCode 1.29.1 más reciente y en el nuevo OSX High Sierra 10.13.6, Macbook Pro.

Esto agrega una línea vertical hacia arriba / abajo en la pantalla, como Option+ Click / Vertical Drag hace en Sublime Text.

Para agregar múltiples cursores en cualquier punto de su archivo , incluidos los múltiples en la misma línea , haga Cmd (or Option)+ Clic en el lugar que desee, que se muestra en este video . También puede buscar texto ( Cmd+ F) que se repita varias veces, luego presione Option+ Returnpara agregar cursores al final de CADA palabra.

Raymond Gan
fuente
30

En Ubuntu , para habilitar el clic con varios cursores, deberá volver a asignar Alt + clic primero, ejecutando el siguiente comando. Esto se debe a que, de manera predeterminada, Ubuntu usa el acceso directo en sí y tiene prioridad.

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"
Valentin Miculit
fuente
25

En XFCE, ve a Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Ahora puedes Insert Cursorcon Alt+ Click

También he deshabilitado la configuración de L / R Workspace ( ctrl+ alt+ L/R) enSettings -> Window manager -> Keyboard

lava-lava
fuente
1
?? ¿Qué es XFCE aquí?
Martian2049
1
@ Martian2049, es un entorno de escritorio en sistemas operativos tipo Unix (Linux, BSD, etc.). Si aún no lo sabe, probablemente mi respuesta no le sea útil, consulte otras respuestas.
lava-lava
Está funcionando después de deshabilitar easy_click para mí, gracias por salvarme el día.
Mohamed M. Hagag
Me esta funcionando. Cambié en easy_click ALT a CTRL porque ALT + clic es para mover ventanas.
millonesj
Buena respuesta A mí me funciona @ lava-lava.
abu abu
18

No hay enlace para exactamente lo que quieres.

Lo único que se acerca es Ctrl+, F2que los seleccionará a todos a la vez.

Puede vincularlo a Ctrl+ Dhaciendo lo siguiente:

  • Haga clic en File > Preferences > Keyboard Shortcuts
    Debería ver un panel lleno de enlaces actuales y, a la derecha, una lista de enlaces personalizados
  • En los enlaces actuales, busque Ctrl+ F2y copie toda esa línea y péguela en el panel derecho.
  • Es posible que deba eliminar la coma al final y luego cambiar de Ctrl+ F2a Ctrl+ Dy luego guardar el archivo.

Debería verse más o menos así:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]
intrépido
fuente
¿Puedo hacer que sea multicursor como sublime .. presionando la rueda del mouse?
Miguel
@MigueNo he encontrado una manera de hacerlo todavía
intrépido
Cuando no desea buscar y reemplazar, esta es la forma más eficiente si tiene miles de filas para editar al mismo tiempo. GRACIAS !
Enlace
10

Ctrl+ Alt+ ⬇ / ⬆agrega cursores arriba y abajo de la línea actual. Sin embargo, todavía no es tan bueno como sublime o corchetes. No puedo ver nada equivalente a Ctrl+ Den sublime en el archivo de atajos de teclado.

mutex
fuente
3
Para Mac es: Alt + Commandy flecha arriba o abajo.
Leniel Maccaferri
En Ubuntu esto esCtrl+Shift+Up/Down
tobalr
En Windows, parece que la opción predeterminada es "girar la pantalla".
BlaM
1
Si está girando su pantalla, ese es su controlador de gráficos, no Windows. Puede deshabilitar ese acceso directo desde la configuración de gráficos.
Daniel
9

https://code.visualstudio.com/Updates

La nueva versión (Visual Studio 0.3.0) admite más funciones de cursor múltiple.

Multi-cursor
Here's multi-cursor improvements that we've made.

⌘D selects the word at the cursor, or the next occurrence of the current selection.
⌘K ⌘D moves the last added cursor to next occurrence of the current selection.
The two actions pick up the matchCase and matchWholeWord settings of the find widget.
⌘U undoes the last cursor action, so if you added one cursor too many or made a mistake, press ⌘U to return to the previous cursor state.
Insert cursor above (⌥⌘↑) and insert cursor below (⌥⌘↓) now reveals the last added cursor, making it easier to work with multi-cursors spanning more than one screen height (i.e., working with 300 lines while only 80 fit in the screen).

Y el atajo de seleccionar el cursor múltiple cambia a cmd + d (es lo mismo que Sublime Text. Lol)

Podemos esperar que la próxima versión admita una función más conveniente sobre el cursor múltiple;)

HyoJin KIM
fuente
7

En Visual Studio sin mouse: Alt+ Shift+ { Arrow }.

multiprograma
fuente
2
Alt+Shift+{ Arrow }. resultará en la copia de la línea actual a partir del Código VS V1.18.0
Adarsh ​​Madrecha
4

En mi XFCE (versión 4.12), está en Settings -> Window Manager Tweaks -> Accessibility.

Hay un campo desplegable Key used to grab and move windows:, configúralo en None.

Alt + Click funciona ahora en VS Code para agregar más cursor.

Yahya
fuente
4

Puede hacer lo siguiente según el menú Selección:

Captura de pantalla del menú Selección en Código VS

Presione / mantenga presionado Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow según sea necesario para crear suficientes cursores, luego Ctrl+Dpuede usarse para expandir las selecciones.

David Metcalfe
fuente
3

El mismo problema en Ubuntu-MATE, pero aquí lo resuelve:

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"
Naoe
fuente
2

Alt + Comando + Shift agregará un cursor a la siguiente instancia de lo que ha seleccionado. Por ejemplo, una variable o nombre de función

Tanner James
fuente
-3

Alt + Click funciona en OSX. Código Versión 1.14.2

lickybuay
fuente