Sélection multiple dans Visual Studio?

88

Existe-t-il un moyen de sélectionner plusieurs textes non contigus (totalement séparés) dans VS? Je peux le faire dans MS Word en sélectionnant les textes séparément en maintenant le bouton Ctrl enfoncé, comme ceci:

entrez la description de l'image ici

Ma version est la 11.

Edit: je ne parle pas de Alt+Selectsélection de bloc. J'aimerais aussi voir s'il existe une technique dans Notepad ++.

nawfal
la source
1
Posez-vous des questions sur Visual Studio 2012 ou Notepad ++?
Oded
@Oded Je pensais qu'il était évident que la question portait sur VS (également incluse dans le titre). Le truc à propos de Notepad ++ était une question bonus.
nawfal
2
Autant que je sache, ce n'est pas possible non plus.
Oded
Selon ce que vous voulez faire avec la sélection, vous pourrez peut-être obtenir le résultat final avec une recherche regex / chaîne.
MA

Réponses:

88

La modification de plusieurs curseurs est prise en charge de manière native dans Visual Studio à partir de la mise à jour de la version 2017 8. Ce qui suit est un extrait de la documentation :

  • Ctrl+ Alt+ clic: Ajouter un curseur secondaire
  • Ctrl+ Alt+ double-clic: ajouter une sélection de mots secondaires
  • Ctrl+ Alt+ cliquer + faire glisser: ajouter une sélection secondaire
  • Shift+ Alt+ .: Ajouter le texte correspondant suivant en tant que sélection
  • Shift+ Alt+ ;: Ajouter tout le texte correspondant en tant que sélections
  • Shift+ Alt+ ,: Supprimer la dernière occurrence sélectionnée
  • Shift+ Alt+ /: Ignorer la prochaine occurrence correspondante
  • Alt + clic: Ajouter une sélection de boîte
  • Esc ou cliquez sur: Effacer toutes les sélections

Certaines de ces commandes sont également disponibles dans le Editmenu:

Menu Carets multiples

Gian Marco
la source
1
Je ne vois pas ces options en utilisant 2017 ver 15.9.3
Urasquirrel
Il semble qu'en 15.9.3, les commandes du menu ne soient que les deux premières.
Gian Marco
2
Lien mis à jour: docs.microsoft.com/en-us/visualstudio/ide/…
brownmagik352
2
Je me demande s'ils vont jamais faire un support multi-caret approprié comme JetBrains le fait déjà depuis des années. Essayez de faire quelques caractères d'insertion, sélectionnez un mot, puis copiez-collez-le. VS colle en double (c'est-à-dire qu'il colle toute la sélection faite avec les deux caractères pour chaque curseur. Je ne peux pas imaginer quand cela serait un comportement souhaitable. Ils devraient le coller une seule fois. De plus, JetBrains a le raccourci CTRL + CTRL, qui permet d'ajouter des caractères d'insertion lorsque vous appuyez sur les flèches vers le bas ou vers le haut (indéfiniment, lorsque vous appuyez sur CTRL). C'est tellement plus productif que l'implémentation de VS à ce stade.
obé le
@obe ou comme sublime. La façon dont il est actuellement pris en charge ne me sert à rien.
shashwat
54

Il existe une nouvelle extension pour Visual Studio 2017 appelée SelectNextOccurrence qui est gratuite et open-source.

Cette extension permet de sélectionner les prochaines occurrences d'un texte sélectionné pour l'édition.

Vise à reproduire la commande Ctrl + D de Sublime Text pour un codage plus rapide.

Fonctionnalités:

  • Sélectionnez la prochaine occurrence de la sélection actuelle.
  • Ignorer l'occurrence
  • Annuler l'occurrence
  • Ajouter un curseur au-dessus / en dessous
  • Utilisez plusieurs carets pour modifier ( Alt-cliquez pour ajouter un signe d'insertion)

Commandes Visual Studio:

  • SelectNextOccurrence.SelectNextOccurrenceest lié à Ctrl+ Dpar défaut.
  • SelectNextOccurrence.SkipOccurrencen'est pas lié par défaut. (Recommandé Ctrl+ K, Ctrl+ D)
  • SelectNextOccurrence.UndoOccurrencen'est pas lié par défaut. (Recommandé Ctrl+ U)
  • SelectNextOccurrence.AddCaretAboven'est pas lié par défaut. (Recommandé Ctrl+ Alt+ Up)
  • SelectNextOccurrence.AddCaretBelown'est pas lié par défaut. (Recommandé Ctrl+ Alt+ Down)

Options SelectNextOccurrence

https://marketplace.visualstudio.com/items?itemName=thomaswelen.SelectNextOccurrence

https://github.com/2mas/SelectNextOccurrence

Drew Noakes
la source
1
Parfait! C'est la bonne. La sélection multiple et le caret fonctionnent très bien. Testé avec VS Community 2017.
Dave
1
@Dave oui cette extension est géniale. Envisagez de lui donner une bonne critique et / ou de mettre en vedette le projet GitHub si vous le trouvez utile.
Drew Noakes
Merci d'avoir trouvé cette extension! MixEdit fonctionnait mais il n'était pas optimisé pour VS2017 et ce popup de trialware était anti-productif.
Bill N.
Cela n'a pas fonctionné pour moi. welp, je ne sais pas ce que j'attendais de ms.
Bersan
Excellente solution, juste pour noter que j'ai également dû supprimer les raccourcis clavier par défaut Edit.Duplicatecar ils étaient toujours Ctrl+Drespectés même lors de l'ajout de la liaison de touches pour SelectNextOccurrence. Raccourcis par défaut VS 2019: docs.microsoft.com/en-us/visualstudio/ide/…
Brandon Franklin
30

Dans Visual Studio Shift+Alt+. / Shift+Alt+,

  • Shift+Alt+. - match caret;
  • Shift+Alt+, - supprimer le curseur précédent;

Même fonction que sur VSCode Ctrl+D.

Beaucoup plus de paramètres Tool - Options - Environment - keyboard. Suivant dans l' Show commands containingentrée Edit..

En outre, peut utiliser le schéma du clavier Visual Studio Code. Disponible pour Visual Studio 2017

Pour conclure, joli lien Visual Studio Tous les raccourcis clavier

Арсений Савин
la source
1
Merci pour votre réponse aimable internaute.
Urasquirrel
3
très bonne réponse. Nous avions juste besoin des commandes. Je ne sais pas pourquoi tout le monde a donné de si longues réponses, lol. merci
Javi
22

L' extension MixEdit pour Visual Studio vous permet de faire du multiediting comme vous le décrivez. Il prend en charge plusieurs carets et plusieurs sélections.

robertojj89
la source
8
Si vous recherchez quelque chose comme du texte Sublime, c'est ça!
Kenial
2
Au cas où quelqu'un se demanderait, le moyen de réaliser la multi-sélection dans MixEdit est de double-cliquer sur les mots après avoir appuyé sur Alt. Le même que dans MS Word, sauf qu'il est Altici au lieu de Ctrl. MixEdit propose également de nombreuses autres options de sélection multiple utiles. Gardez à l'esprit que c'est gratuit uniquement pour l'évaluation!
nawfal
2
Je ne peux plus acheter de licence MixEdit. Consultez le site Web . Une idée de la façon dont je peux obtenir une licence et me débarrasser de la fenêtre contextuelle ennuyeuse?
vullnetyy
3
cette extension n'est pas gratuite !!
Diogo Cid
6
Existe-t-il des alternatives gratuites ou avec possibilité d'acheter pour ne pas avoir à recevoir cette alerte ennuyeuse? ou possibilité de le supprimer de MixEdit s'il n'y a aucun moyen d'acheter
Sonic Soul
13

Dans Visual Studio 2019, vous pouvez placer votre curseur au bon endroit, puis appuyer sur MAJ ALT et. (point). Cela sélectionnera l'occurrence suivante.

Trausti Thor
la source
7

Juste pour noter,

MixEdit n'est pas totalement gratuit.

"Ce logiciel n'est actuellement pas concédé sous licence à un utilisateur et fonctionne en mode d'évaluation. MIXEDIT peut être téléchargé et évalué gratuitement, mais une licence doit être achetée pour une utilisation continue."

Lors de l'installation et de l'utilisation, une fenêtre contextuelle redirige vers la page Web - similaire au message contextuel du logiciel sans licence de SublimeText.

SM23
la source
1
et maintenant vous ne pouvez même pas l'acheter. il apparaît juste la boîte d'alerte demandant une licence
Sonic Soul
6

Pour Visual Studio Code

Je suis arrivé à cette question parce que je cherchais un moyen de sélectionner plusieurs mots avec un clic de souris sur VS Code, ce qui devrait être réalisé en utilisant alt+click, mais cette liaison de touches ne fonctionnait pas (je pense que c'est quelque chose lié à mon système d'exploitation, Ubuntu ).

Pour tous ceux qui recherchent quelque chose de similaire, essayez de changer la clé en ctrl+click.

Aller à Selection>Switch to Ctrl+Click for Multi Cursor

jpenna
la source
Vous êtes sûr de ne pas parler de VS Code?
nawfal
Oui, je suis ... Dois-je le supprimer ou simplement le titre "pour vs code"? Je cherchais du code quand je suis arrivé ici
jpenna
2
pas besoin de supprimer, sera utile pour les autres. Mentionnez-le simplement en réponse.
nawfal
6

Mise à jour: l' extension MixEdit offre désormais cette capacité.

L' extension MultiEdit pour VS permet quelque chose de similaire (ne prend pas en charge plusieurs sélections au moment de la rédaction de cet article, juste plusieurs carets)

Rendez-vous chez Hanselman pour un rapide gif animé de ceci en action: Édition simultanée pour Visual Studio avec l'extension gratuite MultiEdit

Mrchief
la source
1
Cette extension ne prend pas en charge les sélections multiples, comme demandé dans la question d'origine. L' extension MixEdit le fait.
mcw
2
MixEdit n'existait pas lorsque l'OP a posté sa question. J'ai répondu au meilleur de ma connaissance.
Mrchief
5

Je n'ai rien trouvé de intégré, ce qui est triste. Il existe cependant cette fonctionnalité dans CodeRush .

Avec Notepad ++, cette fonctionnalité est intégrée. Il suffit d'activer l'édition multiple à partir de

Paramètre> Préférences> Edition> Paramètres d'édition multiple

Mais ce n'est pas aussi intuitif que MS Word qui vous permet de sélectionner deux mots en double-cliquant dessus (après Ctrl bien sûr).

nawfal
la source
4

dans le visuel 2019, ouvrez les options pour tout afficher entrez la description de l'image ici

et sélection multiple: maintenez Ctrl + Altpuis cliquez sur la position souhaitée ou, maintenez Shift + Altpuis cliquez sur la position pour sélectionner plusieurs lignes multiples du début à la fin de la ligne

Quan Tran Hai
la source
0

Maintenant, le plugin est des astuces Multi Line. Les boutons de fin et de début ont interrompu la sélection.

franca
la source
comment installer dans Visual Studio 2015?
Diogo Cid