Faire comprendre à Visual Studio CamelCase en appuyant sur les touches Ctrl et curseur

130

Existe-t-il un moyen de configurer Visual Studio 2008 pour comprendre CamelCase? Plus précisément, j'aimerais pouvoir obtenir Ctrl + rightou le leftcurseur pour m'amener à une sous-section d'une variable ou d'un nom de type.

c'est-à-dire, si mon curseur était au début de cette ligne:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

et j'ai frappé Ctrl + right, je voudrais sauter à " Named" dans le nom de la classe, plutôt qu'au début du nom de la variable. Si je le frappe à nouveau, j'aimerais aller à " Example". J'espère que cela à du sens.

J'ai beaucoup utilisé cette fonctionnalité de navigation dans Eclipse et j'ai du mal à désapprendre quelque chose d'aussi enraciné.

serg10
la source
Resharper prend en charge cette fonctionnalité.
Petter Wigle
Resharper fait cela. Je suppose que vous pourriez écrire votre propre addin pour faire de même.
col ouvert

Réponses:

132

Merci pour ceux qui ont suggéré Resharper. Cela me donne une autre raison de l'aimer encore plus. Juste pour être précis sur l'endroit où cela vit - JetBrains l'appelle CamelHumps (mignon) et vous pouvez l'activer en utilisant le menu:

Resharper -> Options -> Environnement -> Editeur -> Comportement de l'éditeur -> Utiliser CamelHumps

... dans les anciennes versions de Resharper, c'est le cas;

Resharper -> Options -> Editor -> Use CamelHumps

serg10
la source
2
Y a-t-il une option pour sélectionner le mot entier, même si CameHumps est activé? Pour le moment, je dois appuyer plusieurs fois à droite ou à gauche pour sélectionner un mot. J'espère que vous me comprenez.
Ozkan
Pour sélectionner rapidement le mot entier lorsque CamelHumps est activé, appuyez deux fois sur la touche de raccourci Etendre la sélection ( Ctrl+ Alt+ Rightou Ctrl+ W).
Pang le
107

Quiconque tombe sur cette page après le 25 novembre 2008 (qui ne veut pas payer pour ReSharper ou CodeRush qui n'a plus de version gratuite ), l'extension gratuite suivante ajoute cette fonctionnalité: Subword Navigation by Olle Westman

(Alternativement, l' extension VSTricks inclut la navigation sous-mots dans sa liste de fonctionnalités intéressantes. Il existe également une autre navigation sous-mots extension de créée par Lauri Vasama à ne pas confondre avec celle d'Olle Westman que cette réponse utilise.)

La page du projet de navigation de sous-mots indique:

Recherchez Edit.Subword dans les liaisons clavier pour configurer les choses.

Voici comment je l'ai configuré Visual Studio 2019:


  1. Accédez à Outils> Options> Environnement> Clavier

  1. Sous Use new shortcut in, sélectionnez Éditeur de texte

  1. Sous Show commands containing, tapez Edit.Subword . Cela devrait faire apparaître un champ de saisie semi-automatique avec les commandes répertoriées ci-dessous.

  1. Sélectionnez l'une des commandes suivantes pour lesquelles vous souhaitez définir ses touches de raccourci. Une fois sélectionné, suivez le reste des étapes numérotées. Revenez ensuite à Step 4pour en définir un autre.
    • Modifier.Sous-motSuivant
      • Traverse les camelcases vers la droite [ Alt + Right Arrow]
    • Edit.SubwordPrécédent
      • Traverse les camelcases vers la gauche [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • Sélectionne les camelcases à droite [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Sélectionne les camelcases à gauche [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • Supprime les camelcases à droite [ Alt + Delete]
    • Edit.SubwordDeletePrécédent
      • Supprime les camelcases à gauche [ Alt + Backspace]

Remarque: Lorsque vous attribuez ces commandes de navigation de sous-mots à ces nouvelles touches de raccourci, conservez au préalable toute fonctionnalité de touche de raccourci déjà existante que vous souhaitez conserver en les définissant sur des touches différentes. Il ne doit pas entrer en conflit avec les touches de raccourci installées par défaut.


  1. Sous Press shortcut keys, appuyez sur vos touches de raccourci

  1. Cliquez Assignet écrasez le raccourci existant
jsea
la source
2
Merci pour l'information! Cela fonctionne très bien et est la plus ouverte des solutions présentées.
Chester Husk
Je voulais dire l'année 2015 et au-delà. Comme mentionné plus tard, je l'ai utilisé dans VS 2012. Je clarifierai dans le post. Merci.
jsea
2
Réponse particulièrement excellente pour fournir les détails de configuration. J'apprécie vraiment l'explication sur Next / PreviousExtend
skia.heliou
9
En 2015, j'ai dû remplacer les commandes TextEditor. * Plutôt que les commandes Global. *. ALT + DROITE était déjà lié à autre chose.
Fleurs de Seth
2
@yanyankelevich Je viens de le tester dans VS2019 et cela fonctionne. Cependant, j'ai remarqué que dans le gestionnaire d'extensions, il y avait deux extensions appelées "Subword Navigation". Vous voulez celui créé par Olle Westman. J'ai mis à jour ma réponse pour spécifier cela et noter que cela fonctionne dans VS2019.
jsea
22

Si ReSharper est installé, vous pouvez également configurer les raccourcis clavier Visual Studio «Alt-Droite» et «Alt-Gauche» pour CamelHump, sans perdre le comportement standard de Visual Studio pour «ctrl-droite» et «ctrl-gauche».

  1. Ouvrez la fenêtre Options de Visual Studio dans Outils -> Options
  2. Développez l' environnement et faites défiler vers le bas jusqu'au clavier
  3. Dans Afficher la boîte contenant les commandes , tapez "hump". Cela affichera toutes les commandes liées à CamelHumps. CamelHumps
  4. Mappez les commandes sur les mappages de touches souhaités en sélectionnant la commande dans la liste et en entrant le mappage de touches dans la zone de texte Appuyer sur les touches de raccourci , puis cliquez sur Attribuer .

Mises en garde:

  • Attribuez les mappages à l' éditeur de texte , pas à Global .
  • Assurez-vous que l' option Utiliser CamelHumps de Resharper -> Options -> Editor -> Editor Behavior est désactivée .

Détails ici: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

keremispirli
la source
4
Vous venez de faire ma journée. La solution parfaite car les bosses de chameau peuvent être une épingle avec de longs identifiants (comme l'attestera quiconque utilise Eclipse)
Chrisb
8

Il n'est pas natif de Visual Studio, mais vous pouvez l'obtenir gratuitement à l'aide de CodeRush Express . (ReSharper et CodeRush nécessitent un paiement).

Stewart Johnson
la source
Seul l'essai est gratuit de nos jours
skia.heliou
2

Visual Studio ne prend pas en charge ce comportement. Cependant, de Devexpress CodeRush! Le produit prend en charge la navigation comme celle-ci (en utilisant Alt-Gauche et Alt-Droite), ainsi que des tonnes d'autres fonctionnalités pour faciliter la navigation. Le CodeRush! Le produit est également fourni avec leur outil Refactor. Ils offrent également un CodeRush gratuit! & Refactor Express, bien que je ne sois pas certain que la navigation Camel Casing fasse partie du produit express.

Steve Brouillard
la source
-1

Je ne pense pas que Visual Studio prenne en charge cette fonctionnalité en interne, car il semble utiliser la méthode normale de travail Ctrl + Droite et Ctrl + Gauche dans l'environnement Windows. Mais c'est probablement possible avec une sorte d'extension ou de plugin.

Mehrdad Afshari
la source
6
Se demander si d'autres personnes pourront ou non répondre à la question n'est pas vraiment une réponse à la question.
GregNash