Édition multiligne dans Visual Studio Code

581

Est-il possible d'activer l'édition multiligne comme dans Sublime Text ?

Par exemple, appuyez sur Ctrlpour placer des curseur supplémentaires et pouvoir écrire / supprimer à plusieurs endroits dans le document à la fois.

AfBu
la source
4
Dans de nombreuses applications mac (par exemple TextEdit), je peux également faire glisser la souris avec une option pour sélectionner une case. Est-ce disponible dans VS Code?
Simon Woodside
Article connexe ici .
2017 RBT
2
À partir d'avril 2018 (version 1.23), nous pouvons utiliser le bouton central de la souris pour sélectionner plusieurs colonnes. code.visualstudio.com/updates/…
blueray
5
Pour ceux qui recherchent le nom de cette commande dans la section des raccourcis clavier, c'est:editor.action.insertCursorAtEndOfEachLineSelected
enzoborgfrantz
1
@enzoborgfrantz +1 Exactement ce que je cherchais! La réponse sélectionnée doit d'abord avoir mentionné les commandes de l'éditeur pertinentes car les raccourcis clavier peuvent varier.
pius

Réponses:

1064

Sous Windows, vous maintenez Ctrl+ Altenfoncé tout en appuyant sur les touches fléchées haut ou bas pour ajouter des curseurs.

Mac: ⌥ Opt+ ⌘ Cmd+ /

Linux: Shift+ Alt+ /

Notez que des logiciels tiers peuvent interférer avec ces raccourcis, les empêchant de fonctionner comme prévu (en particulier le logiciel HD Graphics d'Intel sous Windows; voir les commentaires pour plus de détails).

Si vous rencontrez ce problème, vous pouvez désactiver les raccourcis logiciels Intel / autres logiciels ou modifier les raccourcis VS Code (décrits ci-dessous).

Appuyez sur Escpour rétablir un seul curseur.

Curseurs multilignes dans Visual Studio Code

Ou, comme le souligne Isidor Nikolic , vous pouvez maintenir Altet cliquer avec le bouton gauche pour placer des curseurs arbitrairement.

Curseurs multilignes placés arbitrairement dans Visual Studio Code

Vous pouvez afficher et modifier les raccourcis clavier via:

Fichier → Préférences → Raccourcis clavier

Documentation:

https://code.visualstudio.com/docs/customization/keybindings

Aide-mémoire officiel du raccourci clavier VS Code:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/ raccourcis clavier-linux.pdf

Nacimota
la source
155
Sous Windows, la première option retourne simplement mon écran. : - /
Kristoffer la Cour
26
Ce n'est plus valable. Essayez CTRL + SHIFT + UP/DOWN/CLICKOUALT + SHIFT + UP/DOWN/CLICK
Han
39
@Nacimota - sur une machine Windows 10 (qui vient d'être testée maintenant), la combinaison CTRL + ALT + FLÈCHE retournera l'écran, CTRL + ALT + MAJ + FLÈCHE créera un nouveau curseur. La liste publiée des raccourcis clavier PDF peut être obsolète.
Alex C
11
@AlexC les raccourcis ne sont pas obsolètes; téléchargez la dernière version et regardez vous-même la configuration. Si vous constatez que les raccourcis répertoriés retournent votre écran, je parierais que c'est parce que vous avez un processeur graphique Intel et que vous exécutez le logiciel Intel qui intercepte ces raccourcis par défaut. Ouvrez le logiciel HD Graphics et désactivez ou reliez les raccourcis clavier si cela vous dérange, mais ne modifiez pas ma publication pour ajouter des informations incorrectes . Les raccourcis répertoriés sont exacts, et je ne vais pas énumérer tous les logiciels tiers susceptibles de les interférer ou non.
Nacimota
6
@Nacimota avec tout le respect que je vous dois, c'était une erreur honnête qui représente la réalité pour une partie importante des utilisateurs. Il y a suffisamment de machines Intel là où cela pourrait être une configuration par défaut pour que les informations supplémentaires soient précieuses. Nous avons tous deux pour objectif de fournir la meilleure réponse la plus à jour. Une phrase supplémentaire pour énumérer cette différence serait utile.
Alex C
137

Résolu en seulement deux étapes!

  1. Ctrl + F

  2. Alt + Enter

C'est égal à Alt+ de Sublime Text F3.

Entrez la description de l'image ici

Peter Mortensen
la source
21
Le même effet vous permet de frapper ctrl + F2
ksopyla
2
Pouvons-nous sélectionner toutes les lignes contenant à la fois ce mot-clé? Le texte sublime l'avait Ctrl + F> Alt + F3> Ctrl + L
Anirban
Qu'est-ce que c'est en termes Mac? Ctrl et Alt remplacés par ...?
OldPeculier
67

Vous pouvez simplement Alt+ cliquer pour des curseurs supplémentaires. Et comme déjà mentionné, Ctrl+ Alt+ ou .

Isidor Nikolic
la source
9
Et vous pouvez utiliser Alt + Maj + clic pour sélectionner deux lignes et chaque ligne entre les deux.
Steven Liekens
6
La question est de savoir comment modifier son raccourci clavier (quel est Alt + Clickle nom de?)
David Refoua
Alt + clic définit automatiquement le mot ou se déplace vers la gauche du mot et ne fonctionne pas pour moi.
jbodily
J'ai trouvé la réponse à ma question, ce peut être Alt (qui est par défaut , ou Ctrl / ⌘ . Cette option peut être modifiée avec la "editor.multiCursorModifier": "ctrlCmd"saisie settings.json.
David Refoua
62

Sélection de boîte

Windows: shift+ alt+Mouse Left Button

macOS: shift+ option+Click

Cela est contraire à ce qui est mentionné dans une réponse à Visual Studio Code at-il une sélection de boîte / une modification sur plusieurs lignes? .

Peter Mortensen
la source
Je ne suis pas fan de Shift + Alt + Click (bien que cela fonctionne). Donc, pour le faire fonctionner (sous Windows) comme dans VS, j'ai fait ceci: allez dans le menu Sélection et sélectionnez Basculer vers Alt + Cliquez pour Multi-Curseur. Maintenant, Alt + Click sélectionne la boîte.
Kon
27

Utilisez Ctrl+ Dpour utiliser l'édition de plusieurs mots des mêmes mots sous Windows et Linux.

Utilisez CMD+ Dpour Mac.

Krishnaraj R
la source
Comme l'a dit @Krishnaraj, Ctrl + D fonctionne. En fait, VSCode et Sublime le supportent. Assurez-vous d'appliquer Ctrl + D sur toutes les occurrences ultérieures sans relâcher ctrl. Oui, vous devez toujours sélectionner manuellement, cela vous aide simplement à libérer votre souris. Commande MacOS + D
Oscar Zhang
22

À partir de la version 1.13 (mai 2017), vous pouvez enfin changer la touche de modification par défaut pour créer plusieurs curseurs (ajouter aux paramètres):

"editor.multiCursorModifier": "ctrlCmd"

PS: Le modificateur "suivre le lien" à partir de ce moment sera Alt.

Alex
la source
Beaucoup de ces autres réponses ne répondent pas à la question. Celui-ci est - comment placer des carets supplémentaires avec des clics de souris.
Aleksander Niedziolko
17

Sur Mac c'est:

Option+ Commandtout en appuyant sur les touches fléchées haut ou bas .

kiewic
la source
16

Je voulais sélectionner plusieurs lignes et appuyer sur "quelque chose" pour avoir un curseur pour chaque ligne de sélection (similaire à Ctrl+ Shift+ Ldans Sublime Text). Cette action dans Visual Studio Code est appelée "Ajouter des curseurs aux fins de ligne".

Cela a été testé dans Visual Studio Code 1.22 et fonctionne à la fois sur Windows et Mac .

Voici le chemin:

  1. Sélectionnez les lignes que vous souhaitez avoir plusieurs curseurs.
  2. Appuyez simplement sur Alt+ Shift- I.

Vous avez maintenant un curseur par ligne sélectionnée.

Maxime
la source
1
@Manza Dans VS Code, vous c'est ALT-SHIFT-I(comme ipas L). La police n'aide pas à voir correctement. J'utilise cette commande plusieurs fois par jour sur Mac et Windows et je viens de la tester à nouveau avec la dernière version de VS Code: 1.24.1 et je vous assure que cela fonctionne. Peut-être que vous avez un plugin provoquant un conflit?
Maxime
wow ouais, ça fait l'affaire, merci beaucoup, je tournais toujours entre sublime parce que de cette fonctionnalité, c'est tellement pratique
Manza
pour moi c'est CTRL-SHIFT-L (windows)
spécimen
14

J'utilise l' extension vscodevim , donc je ne suis pas sûr que ce soit un problème courant. Mais, je rencontrais le problème où Ctrl+ Alt+ UpArrowretournait mon écran à l'envers.

En regardant les principes de base de Visual Studio Code (je ne sais pas s'ils ont changé cela dans une mise à jour récente), il dit d'utiliser:

Ctrl+ Alt+ Shift+ ( Up/ down)

Andrew
la source
1
Ctrl + Alt + [Flèche] est un raccourci clavier commun pour la rotation de l'écran, certainement avec les pilotes graphiques Intel et / ou les logiciels associés. J'imagine qu'il est intercepté par cela avant que VSCode ne jette un œil. sous Windows. Le raccourci clavier devrait donc fonctionner dans VSCode avec des pilotes plus récents.
Bob Sammers
9

Étape 1:

Sélectionnez le mot à remplacer


Étape 2:

Ctrl+ Fcela sélectionnera ses multiples occurrences


Étape 3:

Alt + Entercela positionnera le curseur sur toutes les occurrences trouvées


Étape 4:

commencez simplement à taper le nouveau mot


Viraj Singh
la source
6
Également cmd+shift+Lsur Mac. Fait la même chose en une seule étape.
Andres
2
@Andres Merci! Cela a résolu mon problème sous Windows, les autres solutions font basculer mon écran.
Tarik Hacialiogullari
8

Depuis avril 2018 (version 1.23), vous pouvez désormais également utiliser le bouton central de la souris pour sélectionner / sélectionner une ligne sur plusieurs lignes.

Jemmeh
la source
Merci pour cela, c'est un gain de temps, existe-t-il une option pour le clavier? comme surbrillance puis ctrl + l en sublime?
Manza
C'est une fonctionnalité légèrement différente, mais vous recherchez probablement ctrl + i. code.visualstudio.com/docs/getstarted/keybindings
Jemmeh
8

Dans la dernière version de Visual Studio Code, vous pouvez maintenant faire glisser le curseur tout en maintenant Option( Altsous Windows) pour sélectionner la même colonne sur plusieurs lignes.

Pour l'activer, assurez-vous de changer votre editor.multiCursorModifierpour qu'il ressemble à ceci:

"editor.multiCursorModifier": "ctrlCmd"

À partir des notes de publication de Visual Studio Code 1.32.0:

Dans la vidéo suivante, la sélection commence comme une sélection régulière, puis vous maintenez la touche Alt enfoncée jusqu'à ce que le bouton de la souris soit relâché:

Exemple de sélection de colonne améliorée:

Tyler Becks
la source
6

Sous Windows, les combinaisons ci-dessous fonctionnent pour moi:

  • Ctrl+ Shift+ Alt+down arrow
  • Ctrl+ Shift+ Alt+up arrow
Dnyneshwar
la source
Cela semble être identique à Visual Studio!
GaTechThomas
4

Je pense que cela dépend de votre version de Visual Studio Code.

Le mien est la version Linux Visual Studio Code 1.7.2.

                                     "when": "editorTextFocus" },
{ "key": "shift+alt+up",          "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "ctrl+shift+down",       "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+down",        "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" }```

The point is the shortcuts are not same in all machines, so you should check your configuration. Go to menu:

> Menu *File* → *Preferences* → *Keyboard Shortcuts*

Search for `editor.action.insertCursorAbove` and `editor.action.insertCursorBelow` and see your current configurations. You may change them if they conflict with operating system's shortcut keys.



Han
la source
L'ajout de SHIFT + ALT + UP / DOWN à mes paramètres utilisateur a fonctionné sur Windows 10
SteveC
4

Dans Visual Studio Code, appuyez simplement sur Altle curseur et placez-le à l'emplacement de modification (où vous souhaitez le modifier) ​​et cliquez avec le bouton droit pour le sélectionner.

Robin
la source
2
Cette réponse semble incomplète
Spangen
4

La solution de travail pour moi consistait d' abord à sélectionner le texte requis à modifier, puis à utiliser CTRL+ F2pour sélectionner toutes les données correspondantes dans la page. Vous pouvez également utiliser CTRL+ Shift+ Lcomme suggéré par @lesterCovax

Veuillez noter: La solution ci-dessus utilise la capacité inhérente de l'éditeur VSCode pour sélectionner un texte similaire sur toute la page, et par conséquent, soyez prudent.

Pour moi, la solution ci-dessus de Ctrl+ ALT+ Arrowkeysn'a pas fonctionné car elle a amené l'écran à changer son orientation d'affichage par rapport à la sélection des lignes dans VSCode.

entrez la description de l'image ici

RICHARD ABRAHAM
la source
3

En plus de toutes les réponses, il existe un autre moyen. Sélectionnez les lignes souhaitées et appuyez sur:

  • Windows: Shift+ Alt+i
  • Mac: shift+ option+i

Cela place un curseur sur chaque ligne de la sélection.

Pulkit Agarwal
la source
Cela fonctionne parfaitement! merci
Miguel Stevens
2

Si vous utilisez Linux, il existe un risque de conflit avec Alt+ clic , qui est la valeur par défaut pour "déplacer une fenêtre".

Vous pouvez aller au menu Paramètres de la fenêtre ComportementComportement de la fenêtreActions onglet

Supprimez simplement Alt+ left(maintenez) et cela fonctionnera.

C'est le meilleur moyen, car vous n'avez pas besoin de tenir deux +touches pour effectuer une tâche aussi simple.

Marcelo Agimóvel
la source
2

J'utilise le keymap Sublime Text et le raccourci clavier fourni par la réponse du haut ne semble pas fonctionner :( Il pourrait y avoir des conflits entre Visual Studio Code et sublime keymaps.

Le raccourci clavier recommandé par @Han fonctionne pour moi (très apprécié!):

  • Entrer en mode curseur multiligne avec Ctrl+ Shift+ Up/Down
  • Sortez avec Esc

(Sidenote) Ci-dessous, un petit exemple d'utilisation d' Emmet avec le curseur multiligne (activé et désactivé avec les raccourcis clavier répertoriés ci-dessus):

Entrez la description de l'image ici

Shan Dou
la source
2

version 1.43 (février 2020)

Vous pouvez maintenant basculer le mode de sélection de colonne, qui modifie les gestes de la souris et les touches fléchées, via:

  • Barre de menus> Sélection> Mode de sélection de colonne
  • Ctrl+ Shift+ P(Afficher toutes les commandes)> Basculer le mode de sélection de colonne
  • Liez votre clé pour le commandement "editor.action.toggleColumnSelection"

entrez la description de l'image ici

Remarque: Il y a un panneau "Sélection de colonne" dans la barre d'état après l'activation, sur lequel vous pouvez appuyer pour le désactiver à nouveau.

ford04
la source
1

Mes paramètres: Windows 8.1 64 bits, Visual Studio Code version 1.33.1.

Problème: conflit avec les raccourcis clavier d'Intel HD Graphics 4000

J'ai eu un problème lorsque j'utilisais les raccourcis par défaut du code Visual Studio ( Ctrl+ Alt+ UP, Ctrl+ Alt+ DOWN). Dans mon cas, ces commandes faisaient tourner mon écran respectivement à 0º et 180º. Cela se produit, car l'application Graphic Intel est installée sur mon ordinateur. Ensuite, je viens de désactiver les raccourcis de cette application.

Voici un tutoriel pour aider quelqu'un.

Rui M.
la source
1
Sous Windows 7, vous pouvez cliquer avec le bouton droit sur le bureau, sélectionner les options graphiques -> raccourcis clavier -> désactiver.
Moritz Roessler
0

Just Opt+ click fonctionne pour moi sur Mac

débutant
la source
0

La solution de @maxime d'utilisation a SHIFT + ALT + ifonctionné pour moi, quand j'avais besoin d'éditer rapidement ~ 20k lignes dans un fichier. La plupart des autres raccourcis clavier mentionnés ne sont utiles que pour un nombre limité de lignes. SHIFTsélectionner la zone que vous souhaitez modifier en colonne, puis appuyer sur SHIFT + ALT + iest le moyen le plus efficace pour gérer cela.

Ce que j'ai accidentellement découvert cependant (et qui n'a pas encore été mentionné ici), c'est qu'il y a une limite de 10k lignes en "mode d'édition du curseur" (il y a une demande de fonctionnalité Github ouverte pour l'augmenter). Cela signifie que pour des fichiers extrêmement volumineux, il peut être préférable de créer un script pour vos modifications plutôt que de le faire manuellement.

Pour ceux comme @specimen qui ont dû utiliser des raccourcis comme CTRL + SHIFT + L(la liaison par défaut est Select all occurrences of current selection) pour ce faire, vous devez vérifier que vous n'avez pas installé d'extension de clavier. Vous pouvez vérifier en recherchant @recommended:keymapsdans le volet des extensions, en allant à File > Preferences > Keymaps( CTRL+K CTRL+M).

Le clavier par défaut [Windows] peut être trouvé sous forme PDF ICI , ou vous pouvez aller File > Preferences > Keyboard Shortcutsà trouver / modifier les liaisons actuelles. Il existe également une documentation plus détaillée sur les liaisons de touches ICI .

LesterCovax
la source
0

Sur Linux Fedora (j'ai essayé avec Fedora 31) avec KDE, allez sur:

  1. Les paramètres du système
  2. Gestion des fenêtres
  3. Comportement des fenêtres
  4. Actions de fenêtre
  5. Actions de la fenêtre intérieure, de la barre de titre et du cadre
  6. Cliquez sur la boîte de clic gauche
  7. Choisissez Ne rien faire (remplacement du déplacement / glisser)

Maintenant, vous pouvez sélectionner plusieurs lignes avec Alt + clic gauche !

kintsukuroi
la source