Método abreviado de teclado de Visual Studio para agregar automáticamente la declaración de "uso" necesaria

255

¿Cuál es el método abreviado de teclado para expandir la pequeña línea roja que le brinda el menú donde puede elegir que se usingagregue la declaración necesaria en la parte superior del archivo?

Bramha Ghosh
fuente

Respuestas:

407

Ctrl+ .muestra el menú. Me parece más fácil de escribir que la alternativa, Alt+ Shift+ F10.

Esto se puede volver a vincular a algo más familiar yendo a Herramientas> Opciones> Medio ambiente> Teclado> Visual C #> Ver.

Orion Adrian
fuente
66
Sí, supongo que es a lo que estás acostumbrado. No tengo dificultad con Alt + Shift + F10 mientras que Ctrl +. Se siente totalmente ajeno. Supongo que aceptaremos cualquier cosa con suficiente condicionamiento. : D
Jeff Yates
66
Tengo uno de los teclados de Microsoft con su bloqueo de funciones ... hombre, odio esa cosa.
Orion Adrian
1
Tengo uno de esos en casa. El bloqueo de funciones era una idea tonta.
Jeff Yates
3
Wow, no sabía sobre Ctrl +. o Alt + Shift + F10, pero siempre se preguntó si había tal atajo. También tengo un teclado de bloqueo de funciones, pero siempre recuerda su estado, así que no hay problema aquí (Microsoft Natural Ergonomics Keyboard 4000).
OregonGhost
1
ctrl + parece ser el final de la línea para mí ... No estoy seguro de por qué es diferente.
justin
37

Alt + Shift + F10mostrará el menú asociado con la etiqueta inteligente.

Jeff Yates
fuente
2
Su cursor tendrá que estar en el nombre de clase / interfaz que escribió para que esto funcione.
Pranav Mahajan
Si. Y también tiene que ser el cursor del mouse, no solo el cursor del teclado, y tener que mover el cursor del mouse allí para acceder a él, anula por completo el punto de tener un atajo de teclado.
Neutrino
@Neutrino Ese no es el caso para mí. El cursor del mouse no tiene nada que ver con eso.
Jeff Yates
26

Puedo recomendar encarecidamente revisar el complemento de Visual Studio ReSharper. Tiene una función QuickFix que hace lo mismo (y mucho más).

Pero ReSharper no requiere que el cursor se ubique en el código real que requiere un nuevo espacio de nombres. Digamos que copia / pega un código en el archivo fuente, y solo unos pocos clics de Alt+ Enter, y se incluyen todos los usos requeridos.

Ah, y también se asegura de que la referencia de ensamblaje requerida se agregue a su proyecto. Digamos, por ejemplo, que crea un nuevo proyecto que contiene pruebas unitarias NUnit . La primera clase que escribe, agrega el atributo [TestFixture]. Si ya tiene un proyecto en su solución que hace referencia al archivo DLL de NUnit, ReSharper puede ver que TestFixtureAttribute proviene de ese archivo DLL, por lo que agregará automáticamente esa referencia de ensamblaje a su nuevo proyecto.

Y también agrega los espacios de nombres necesarios para los métodos de extensión. Al menos la versión ReSharper 5 beta lo hace. Estoy bastante seguro de que la función de resolución incorporada de Visual Studio no hace eso.

En el lado negativo, es un producto comercial, por lo que debe pagarlo. Pero si trabaja con software comercialmente, la productividad obtenida (el complemento hace muchas otras cosas interesantes) supera el precio.

Sí, soy fanático;)

Pete
fuente
14

En Visual Studio 2010 encontrará el comando del teclado para resolver espacios de nombres en un comando llamado View.ShowSmartTag . La mía también se asignó a Shift+ Alt+, lo F10que es una gran molestia, por lo que generalmente vuelvo a asignar eso rápidamente.

Sobre Pete comentando sobre ReSharper: sí, para cualquiera con el presupuesto, ReSharper hace que la vida sea un placer absoluto. El hecho de que sea lo suficientemente inteligente como para resolver dependencias fuera de las referencias actuales y agregarlas como usos y referencias no solo le ahorrará innumerables horas, sino que también le hará olvidar dónde residen todas las clases de marco ;-) Así de fácil es desarrollo de la vida ... Entonces ni siquiera hemos comenzado a refactorizar ReSharper todavía.

CodeRush de DevExpress no ofrece asistencia en este sentido; o nada que sea obvio para mí, y DevExpress en modo no experto es bastante comunicativo en lo que quiere hacer por usted :-)

Último comentario: esta característica IDE de resolver dependencias es tan madura y refinada en el mundo IDE de Java que la mayor parte de las muestras de Internet ya ni siquiera muestran las importaciones (usando).

Dicho esto, Microsoft ahora finalmente tiene algo que ofrecer a este respecto, pero también es claro para mí que el desarrollo de Microsoft (para muchos de nosotros) ahora ha cerrado el círculo: el enfoque pasó de la fuente, a los diseñadores visuales de nuevo para enfocarse en ser en la fuente nuevamente, lo que significa que el tiempo que pasa en una vista de código fuente / si es C #, VB o XAML está en alza y la cantidad de arrastrar y soltar en 'formularios' está en la baja. Con esta suposición básica, es simple decir que Microsoft debería comenzar a concentrarse en hacer que el editor sea más inteligente, que los atajos de teclado sean más fáciles y que la verificación y evaluación de código / error sea mejor: los días en que un editor tonto lo deja en Google una clase para averiguarlo en qué biblioteca reside se ha ido (o debería ser en cualquier caso) para la mayoría de nosotros.

Gawie Kellerman
fuente
Eso es lo que estaba buscando! ¿Cómo se llama el comando para poder reasignarlo? Felicitaciones por encontrar su nombre ... realmente oscuro.
swinefeaster
6
  • Tecla Menú contextual (una con el menú, junto a la tecla derecha de Windows)
  • Luego elija "Resolver" del menú. Eso se puede hacer presionando "s".
James Curran
fuente
0

Es ctrl+ .cuando, por ejemplo, intentas escribir, Listdebes escribir <al final y presionar ctrl+ .para que funcione.

Slobodan Stanković
fuente