Haga que Visual Studio entienda CamelCase al presionar Ctrl y las teclas del cursor

130

¿Hay alguna forma de configurar Visual Studio 2008 para comprender CamelCase? Específicamente, me gustaría poder obtener Ctrl + righto leftcursor para llevarme a una subsección de una variable o nombre de tipo.

es decir, si mi cursor estaba al comienzo de esta línea:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

y presioné Ctrl + right, me gustaría saltar a " Named" en el nombre de la clase, en lugar del inicio del nombre de la variable. Si lo golpeo nuevamente, me gustaría ir a " Example". Espero que tenga sentido.

Utilicé bastante esta función de navegación en Eclipse, y me resulta difícil desaprender algo tan arraigado.

serg10
fuente
Resharper admite esa función.
Petter Wigle
Resharper hace eso. Supongo que podrías escribir tu propio complemento para hacer lo mismo.
cuello abierto el

Respuestas:

132

Gracias por quienes sugirieron Resharper. Me da otra razón para amarlo aún más. Solo para ser específico sobre dónde vive esto: JetBrains lo llama CamelHumps (lindo) y puede encenderlo usando el menú:

Resharper -> Opciones -> Medio ambiente -> Editor -> Comportamiento del editor -> Usar CamelHumps

... en versiones anteriores de Resharper, lo es;

Resharper -> Opciones -> Editor -> Usar CamelHumps

serg10
fuente
2
¿Existe una opción para seleccionar la palabra completa, incluso si CameHumps está activado? Por el momento tengo que presionar a la derecha o izquierda varias veces para seleccionar una palabra. Espero que me entiendas
Ozkan
Para seleccionar rápidamente la palabra completa mientras CamelHumps está activado, presione la tecla de acceso directo Extender selección dos veces ( Ctrl+ Alt+ Righto Ctrl+ W).
Pang
107

Cualquier persona que se encuentre con esta página después del 25 de noviembre de 2008 (que no quiera pagar por ReSharper o CodeRush que ya no tiene una versión gratuita ), la siguiente Extensión gratuita agrega esta funcionalidad: Subword Navigation de Olle Westman

(Alternativamente, la extensión VSTricks incluye Sub-word Navigation en su lista de funciones ingeniosas. También hay una extensión de navegación Subword diferente creada por Lauri Vasama que no debe confundirse con Olle Westman que utiliza esta respuesta).

La página del proyecto Subword Navigation dice:

Busque Edit.Subword en las combinaciones de teclado para configurar las cosas.

Así es como lo configuré en Visual Studio 2019:


  1. Vaya a Herramientas> Opciones> Medio ambiente> Teclado

  1. Debajo Use new shortcut in, seleccione Editor de texto

  1. En Show commands containing, escriba Edit.Subword . Esto debería abrir un campo de autocompletar con los siguientes comandos.

  1. Seleccione uno de los siguientes comandos para los que desea establecer sus teclas de acceso directo. Una vez seleccionado, siga el resto de los pasos numerados. Luego regrese a Step 4para configurar otro.
    • Edit.SubwordNext
      • Atraviesa camellas a la derecha [ Alt + Right Arrow]
    • Edit.SubwordPrevious
      • Atraviesa camellas a la izquierda [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • Selecciona camelcases a la derecha [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Selecciona camelcases a la izquierda [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • Elimina camelcases a la derecha [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • Elimina camelcases a la izquierda [ Alt + Backspace]

Nota: Cuando asigne estos comandos de navegación de subpalabras a estas nuevas teclas de acceso directo, conserve de antemano cualquier funcionalidad de tecla de acceso directo ya existente que desee conservar configurándolas en teclas diferentes. No debe entrar en conflicto con ninguna tecla de acceso directo instalada por defecto.


  1. Debajo Press shortcut keys, presione las teclas de acceso directo

  1. Haga clic Assigny sobrescriba el acceso directo existente
jsea
fuente
2
¡Gracias por el aviso! Esto funciona muy bien y es la más abierta de las soluciones presentadas.
Chester Husk
Me refería al año 2015 y más allá. Como se mencionó más adelante, usé esto en VS 2012. Lo aclararé en la publicación. Gracias.
jsea
2
Respuesta particularmente excelente al proporcionar los detalles de configuración. Definitivamente aprecio la explicación en Siguiente / AnteriorExtender
skia.heliou
9
En 2015, tuve que sobrescribir los comandos TextEditor. *, En lugar de los comandos Global. *. ALT + DERECHA ya estaba vinculado a otra cosa.
Seth Flowers
2
@yanyankelevich Lo acabo de probar en VS2019 y funciona. Sin embargo, noté en el Administrador de extensiones, había dos extensiones llamadas "Subword Navigation". Quieres el creado por Olle Westman. He actualizado mi respuesta para especificar eso y notar que funciona en VS2019.
jsea
22

Si tiene instalado ReSharper, también puede configurar los métodos abreviados de teclado de Visual Studio "Alt-Right" y "Alt-Left" para CamelHump, sin perder el comportamiento estándar de Visual Studio para "ctrl-right" y "ctrl-left".

  1. Abra la ventana de Opciones de Visual Studio desde Herramientas -> Opciones
  2. Expanda Entorno y desplácese hacia abajo hasta Teclado
  3. En el cuadro Mostrar comandos que contienen , escriba "joroba". Esto mostrará todos los comandos relacionados con CamelHumps. Camello
  4. Asigne los comandos a las asignaciones de teclas que desee seleccionando el comando de la lista e ingresando la asignación de teclas en el cuadro de texto Presionar teclas de acceso directo , luego haga clic en Asignar .

Advertencias:

  • Asigne las asignaciones para el Editor de texto , no Global .
  • Asegúrese de que la opción Usar CamelHumps de Resharper -> Opciones -> Editor -> Editor Behavior esté desactivada .

Detalles aquí: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

keremispirli
fuente
44
Usted acaba de hacer mi día. La solución perfecta como las jorobas de camello puede ser un pin con identificadores largos (como lo atestiguará cualquiera que use Eclipse)
chrisb
8

No es nativo de Visual Studio, pero puede obtenerlo gratis usando CodeRush Express . (ReSharper y CodeRush requieren pago).

Stewart Johnson
fuente
Solo la
versión de
2

Visual Studio no admite este comportamiento. Sin embargo, ¡ CodeRush de DevExpres! el producto admite navegación como esta (usando Alt-Izquierda y Alt-Derecha), junto con muchas otras características para ayudar en la navegación. El CodeRush! El producto también se incluye con su herramienta Refactor. ¡También ofrecen un CodeRush gratis! & Refactor Express, aunque no estoy seguro de si la navegación Camel Casing es parte del producto express.

Steve Brouillard
fuente
-1

No creo que Visual Studio admita esta característica internamente, ya que parece estar usando la forma normal en que funcionan Ctrl + Derecha y Ctrl + Izquierda en el entorno de Windows. Pero probablemente sea posible con algún tipo de extensión o complemento.

Mehrdad Afshari
fuente
66
Adivinar si otras personas podrán responder la pregunta no es realmente una respuesta a la pregunta.
GregNash