Plusieurs curseurs dans Visual Studio Code [fermé]

580

Comment pouvez-vous créer plusieurs curseurs lors de l'édition dans VS Code? Je suis intéressé par macOS et Windows.

Kiba
la source
114
Maintenez simplement le Altbouton enfoncé et commencez à cliquer à différents endroits. C'est ça.
nom d'utilisateur
41
CMD + Alt + Flèche bas est ce que vous voulez. stackoverflow.com/questions/30037808/…
Valentine Bondar
4
Si vous utilisez un Mac, MAJ + CTRL + BAS / HAUT est ce que vous voulez réellement à partir de 1.14.2.
Ben Creasy
2
En outre, il semble que Cmd + Alt + Down soit mappé par editor.action.goToDeclaration par défaut à partir du 1.14.2
Ben Creasy
15
C'est dommage que les gens aient décidé de clore un sujet qui est d'un intérêt si évident qu'il compte près de 400 votes et qu'il a toujours des visiteurs près de 4 ans après sa publication. Je souhaite que les éditeurs SO se détendent un peu et laissent la communauté grandir et s’encourager mutuellement. Je suis curieux de savoir quelles réponses pertinentes surgiraient avec les connaissances de 2019. :(
Mike Williamson

Réponses:

580

Appuyez Altet cliquez. Cela fonctionne sur Windows et Linux *, et cela devrait également fonctionner sur Mac.

Plus de fonctionnalités multi-curseur sont désormais disponibles dans Visual Studio Code 0.2:

Les améliorations multi-curseur
Ctrl+D( Cmd+Dsur Mac) sélectionnent la prochaine occurrence du mot sous le curseur ou de la sélection actuelle
Ctrl+K Ctrl+Ddéplace le dernier curseur ajouté à la prochaine occurrence du mot sous le curseur ou de la sélection actuelle
Les commandes utilisent matchCase par défaut. Si le widget de recherche est ouvert, les paramètres du widget de recherche (matchCase / matchWholeWord) seront utilisés pour déterminer la prochaine occurrence
Ctrl+U( Cmd+Usur Mac) annule la dernière action du curseur, donc si vous avez ajouté un curseur trop ou fait une erreur, vous pouvez appuyez sur Ctrl+U( Cmd+Usur Mac) pour revenir à l'état précédent du curseur. Ajout d'un curseur vers le haut ou vers le bas ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down sur Mac) révèle désormais le dernier curseur ajouté pour faciliter le travail avec plusieurs curseurs sur plus d'une hauteur de fenêtre à la fois (c'est-à-dire sélectionner 300 lignes et seulement 80 tenir dans la fenêtre).

Cela facilite considérablement l'introduction de plusieurs curseurs

* Conflit de glisser-fenêtre Linux:

Certaines distributions (par exemple Ubuntu) affectent le glissement de la fenêtre à Alt+LeftMouse, ce qui entrera en conflit avec VSCode.

Ainsi, les versions récentes de VSCode vous permettent de basculer entre Alt+LeftMouseet Ctrl+LeftMousesous le menu Sélection, comme détaillé dans une autre réponse .

Alternativement, vous pouvez changer vos raccourcis clavier OS en utilisant gsettingscomme mentionné dans une autre réponse .

vilicvane
la source
20
Raccourcis clavier ? Je comprends que c'est commande + clic. Mais c'est dégoûtant ... pas un moyen rapide :(
Kiba
8
F2 ou Ctrl + F2 peuvent aider. Mais je n'ai pas trouvé quelque chose comme Ctrl + D.
vilicvane
13
Alt + clic ne semble pas fonctionner sous Linux. Ce qui a fonctionné pour moi, c'est Ctrl + Maj + Gauche / Droite / Haut / Bas
Yonatan Simson
18
alt + shift + clic sur mac (2017)
Hoff
5
hmmm, ctrl + alt + haut ou bas fait pivoter mon écran (sur win10) au lieu de plusieurs curseurs
Reinsbrain
159

Curseurs / sélection multi-mots (et multi-lignes) dans VS Code

Multi-mot:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lsélectionne toutes les instances du mot en surbrillance actuel
  • Ctrl+D/ ⌘+Dsélectionne l'instance suivante ... et celle qui suit ... etc.

Multi-ligne:

Pour la sélection sur plusieurs lignes , Ctrl+Alt+Down/ ⌘+Alt+Shift+Downétendra votre sélection ou la position du curseur à la ligne suivante. Ctrl+Right/ ⌘+Rightse déplacera à la fin de chaque ligne, quelle que soit la durée. Pour échapper à la sélection sur plusieurs lignes, appuyez sur Esc.

Voir les raccourcis clavier VS Code (sensibles au système d'exploitation)

Dave Everitt
la source
15
Ha ha sur ma machine, le pilote vidéo Intel dispose d'un raccourci clavier Ctrl-Alt-Down pour faire basculer l'écran. M'a pris au dépourvu:) _
Ingénieur inversé
3
Pourquoi n'est-il pas le même que SSMS (et vraisemblablement Visual Studio), qui utilise Shift-Alt-Down / Up, pas Ctrl-Alt-Down ???
Ingénieur inversé
@DaveBoltman - Je ne sais pas! Mais vous pouvez personnaliser les raccourcis clavier.
Dave Everitt
2
Ctrl-Alt-Down rend votre écran à l'envers? Comme combien d'utilisateurs avaient besoin de cela pour être sur une touche de raccourci? 🙄
gman
3
Pour désactiver le raccourci clavier stupide d'Intel, vous pouvez simplement cliquer avec le bouton droit sur le bureau> Options graphiques> Raccourcis clavier> Désactiver
alxgb
138

J'ai eu un problème avec la touche ALT, le correctif consiste à changer alt+clickde raccourci Gnome qui détruit la sélection multi-curseur dans VSCode, super+clicken exécutant:

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

Source: http://2buntu.com/articles/1529/visual-studio-code-come-to-linux/

Ivan Ermilov
la source
7
+1 cette méthode fonctionne! Il suffit de vérifier avec Ubuntu 14.04.05 .. Plus tôt j'ai essayé dconf-editoret CompizConfigde changer « fenêtre » mouvement configurations plugin et foiré et presque cassé mon Ubuntu.
Dimitry K
2
Cela fonctionne dans Ubuntu!
jonan.pineda
11
Utiliser gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"pour Linux Mint (Cinnamon).
vossad01
Impressionnant! Fonctionne sur Ubuntu 16.04.
Bruno Gomes
1
Si vous ne souhaitez pas toucher aux paramètres par défaut de votre système, vous pouvez également utiliser "Sélection> Basculer vers CTRL + Cliquer pour multicurseur". Cela fonctionne dans Linux Mint, donc cela devrait aussi fonctionner dans Ubuntu.
lsblsb
125

Mai 2017
Depuis la version 1.13 Ajoutez plusieurs curseurs avec Ctrl/ Cmd+Click

VSCodeles développeurs ont introduit un nouveau paramètre,, editor.multiCursorModifierpour changer la touche de modification pour appliquer plusieurs curseurs à Cmd+ Clicksur macOS et Ctrl+ Clicksur Windows et Linux. Cela permet aux utilisateurs provenant d'autres éditeurs tels que Sublime Text ou Atom de continuer à utiliser le modificateur de clavier qu'ils connaissent.

Le paramètre peut être défini sur:

  • ctrl/Cmd- Correspond à CtrlWindows et CmdmacOS.
  • alt- La valeur par défaut existante Alt.

Il y a aussi un nouvel élément de menu Utiliser Ctrl+ Clickpour Multi-Cursordans le Selectionmenu pour basculer rapidement ce paramètre. entrez la description de l'image ici

Les gestes Aller à la définition et Ouvrir le lien respecteront également ce paramètre et s'adapteront de manière à ne pas entrer en conflit. Par exemple, lorsque le paramètre est défini ctrl/Cmd, plusieurs curseurs peuvent être ajoutés avec Ctrl/ Cmd+ Clicket l'ouverture de liens ou la définition peut être invoquée avec Alt+ Click.

Avec la correction du problème n ° 2106, il est désormais possible de supprimer également un curseur en utilisant le même geste au-dessus d'une sélection existante.

Taras Yaremkiv
la source
1
Je devenais fou sur pourquoi Ctrl + clic ne fonctionnait pas. Je ne savais pas qu'il y avait une option pour le basculer. :-)
ankush981
5
La définition editor.multiCursorModifierde alt à ctrlCmd a très bien fonctionné. Maintenant, tout ce que j'ai à faire est ctrl + clic et il utilisera plusieurs curseurs :) Muchas gracias!
protoEvangelion
Je peux passer en Ctrl + clic, cela fonctionne, mais pour aller à la définition de classe ou quelque chose a disparu, comment puis-je résoudre ce problème?
Vuong Tran
Ceci est la réponse la plus utile. Dans la plupart des éditeurs, CTRL + clic est utilisé pour la sélection multiple. Il n'est pas nécessaire de modifier le comportement du système d'exploitation pour faire fonctionner un éditeur. Cette option modifie le comportement de la sélection multiple au modèle le plus couramment utilisé.
Ruby Racer
83

Essayez Ctrl+ Alt+ Shift+ ⬇ / ⬆, sans souris, ou maintenez "alt" et cliquez sur toutes les lignes que vous voulez.

Remarque : testé sous Windows.

Erivan
la source
21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆fonctionne pour moi sur Mac avec la version 1.15.1.
Tyler Collier
2
Sur Windows 10, je peux le faire sansshift
Pini Cheyni
2
Vous pouvez également utiliser la page haut / bas pour aller plus vite!
Maxime
sans SHIFTça ne fonctionnait pas pour moi thx
BartusZak
1
J'ai installé l' extension Smart Multi-cursor avec quelques fonctionnalités avancées, avec le raccourci Cmd + Alt + (Haut / Bas) pour créer le multi-curseur.
Danny
47

Cmd+ Option+ Shift⬇ / ⬆fonctionne pour moi sur le dernier VSCode 1.29.1 et le dernier OSX High Sierra 10.13.6, Macbook Pro.

Cela ajoute une ligne verticale haut / bas à l'écran, comme le fait Option+ Click / Vertical Drag dans Sublime Text.

Pour ajouter plusieurs curseurs à n'importe quel point de votre fichier , y compris plusieurs sur la même ligne , faites Cmd (or Option)+ Cliquez n'importe où, comme indiqué dans cette vidéo . Vous pouvez également rechercher du texte ( Cmd+ F) qui se répète plusieurs fois, puis appuyez sur Option+ Returnpour ajouter des curseurs à la fin de CHAQUE mot.

Raymond Gan
la source
30

Sur Ubuntu , afin d'activer le clic multi-curseur, vous devrez d'abord réaffecter Alt + clic, en exécutant la commande ci-dessous. En effet, par défaut, Ubuntu utilise le raccourci lui-même et a la priorité.

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

Sur XFCE, accédez à Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Maintenant vous pouvez Insert Cursoravec Alt+ Click

J'ai également désactivé les paramètres L / R Workspace ( ctrl+ alt+ L/R) dansSettings -> Window manager -> Keyboard

lave-lave
la source
1
?? qu'est-ce que XFCE ici?
Martian2049
1
@ Martian2049, c'est un environnement de bureau sur des systèmes d'exploitation de type Unix (Linux, BSD, etc.). Si vous ne le savez pas encore, ma réponse ne vous sera probablement pas utile, allez voir d'autres réponses.
lave-lave
Cela fonctionne après avoir désactivé easy_click pour moi, merci d'avoir sauvé ma journée.
Mohamed M. Hagag
Ça marche pour moi. J'ai changé dans easy_click ALT en CTRL car ALT + clic est pour déplacer les fenêtres.
millonesj
Belle réponse. Cela fonctionne pour moi @ lave-lave.
abu abu
18

Il n'y a pas de lien pour exactement ce que vous voulez.

La seule chose qui se rapproche est Ctrl+ F2qui les sélectionnera tous en même temps.

Vous pouvez le lier à Ctrl+ en Dprocédant comme suit:

  • Cliquez sur File > Preferences > Keyboard Shortcuts
    Vous devriez voir un volet plein des liaisons actuelles et à droite une liste de liaisons personnalisées
  • Dans les liaisons actuelles, recherchez Ctrl+ F2et copiez cette ligne entière et collez-la dans le volet droit.
  • Vous devrez peut-être supprimer la virgule à la fin, puis changer Ctrl+ F2en Ctrl+ D, puis enregistrer le fichier.

Ça devrait ressembler a quelque chose comme ca:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]
intrépidité
la source
Puis-je le rendre multicurseur comme, sublime le fait .. en appuyant sur la molette de la souris?
Miguel
@MigueJe n'ai pas encore trouvé un moyen de le faire
intrepion
Lorsque vous ne souhaitez pas rechercher et remplacer, c'est le moyen le plus efficace si vous avez des milliers de lignes à modifier en même temps! THX !
Lien
10

Ctrl+ Alt+ ⬇ / ⬆ajoutez des curseurs au-dessus et au-dessous de la ligne actuelle. Toujours loin d'être aussi bon que sublime ou entre parenthèses. Je ne vois rien d'équivalent à Ctrl+ Den sublime dans le fichier de raccourcis clavier.

mutex
la source
3
Pour Mac c'est: Alt + Commandet flèche haut ou bas.
Leniel Maccaferri
Sur Ubuntu c'estCtrl+Shift+Up/Down
tobalr
Sous Windows, il semble par défaut de "faire pivoter l'écran".
BlaM
1
S'il fait tourner votre écran, c'est votre pilote graphique, pas Windows. Vous pouvez désactiver ce raccourci dans les paramètres graphiques.
Daniel
9

https://code.visualstudio.com/Updates

La nouvelle version (Visual Studio 0.3.0) prend en charge davantage de fonctionnalités multi-curseur.

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).

Et un raccourci pour sélectionner le changement de curseur multiple en cmd + d (c'est la même chose que Sublime Text. Lol)

Nous pouvons nous attendre à ce que la prochaine version prenne en charge une fonctionnalité plus pratique sur les curseurs multiples;)

HyoJin KIM
la source
7

Dans Visual Studio sans souris: Alt+ Shift+ { Arrow }.

multiprogramm
la source
2
Alt+Shift+{ Arrow }. entraînera la copie de la ligne actuelle à partir du code VS V1.18.0
Adarsh ​​Madrecha
4

Dans mon XFCE (version 4.12), c'est dans Settings -> Window Manager Tweaks -> Accessibility.

Il y a un champ déroulant Key used to grab and move windows:, définissez-le sur None.

Alt + Le clic fonctionne maintenant dans VS Code pour ajouter plus de curseur.

Yahya
la source
4

Vous pouvez effectuer les opérations suivantes dans le menu Sélection:

Capture d'écran du menu de sélection dans VS Code

Appuyez / maintenez Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow comme requis pour créer suffisamment de curseurs, puis Ctrl+Dpouvez être utilisé pour étendre les sélections.

David Metcalfe
la source
3

Même problème sur Ubuntu-MATE, mais ici, vous le résolvez par:

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

Alt + Commande + Maj ajoutera un curseur à l'instance suivante de ce que vous avez sélectionné. Par exemple, un nom de variable ou de fonction

Tanner James
la source
-3

Alt + Click fonctionne sous OSX. Version 1.14.2 du code

lickybuay
la source