2010-07-08 10 views
10

¿Hay alguna manera de hacer que VS 2008 intellisense adopte de manera predeterminada propiedades sobre clases en una colisión de nombre?Configuración de prioridad de Visual Studio 2008 Intellisense

Ejemplo:

Dentro de mi alcance que tienen una propiedad Foo, pero también soy usando una clase Foo. Al escribir código, si comienzo a escribir Fo, VS2008 intellisense pensará que me refiero a la clase Foo. Quiero que piense que me refiero a la propiedad Foo en su lugar.

+1

recompensa de 100 por el problema más molesto de mi día. Como la prioridad está en el orden incorrecto cuando tengo una propiedad con el mismo nombre que la clase, cuando la escribo y pulso '.', ** se completa automáticamente con el nombre completo de la clase **, lo que significa que * no se puede * usar la propiedad más sin eliminar todo lo que sh * t VS acaba de agregar (al presionar ctrl + z, luego retroceder, luego '.' nuevamente). Este comportamiento se produce incluso después de quitar '.' del cuadro de opción" confirmado después de presionar los siguientes caracteres ". Este problema sin duda suena menor, hasta que te sucede 200 veces en un día. –

+0

Otorgaré la recompensa a cualquiera que conozca una forma de detener ese problema específico (no necesariamente cambiando la prioridad de las categorías). –

+2

(en C#) Puede alias la clase: 'utilizando FooClass = Foo;' Si se encuentra dentro de un miembro de instancia, puede referirse a la propiedad Foo como 'this.Foo'. En el ámbito de nivel de clase, tiene que ser totalmente calificado. Esta es la razón por la que las pautas de diseño de Microsoft sugieren que no nombre propiedades o métodos igual que su tipo de devolución. –

Respuesta

3

Desafortunadamente, esto no es posible. No se admite la personalización de la prioridad de categorías de valores como clases/propiedades

1

No existe posibilidad en VS2010 ni en ReSharper 5.0 para tratar este problema. No será una característica de ReSharper 6.0 también, según JetBrains. Utilizo un nombre diferente para la propiedad, cuando comienza a hacerme agresivo y refactorizar después de que he hecho la mayor parte del trabajo.

Actualización:

informé el problema de JetBrains hace algún tiempo y acabo de recibir un correo electrónico que la función se ha agregado y estará disponible en la versión 6.1. ¡Buenas noticias para los usuarios de ReSharper en este caso!

http://youtrack.jetbrains.net/issue/RSRP-273067?projectKey=RSRP

+0

+1 por sugerir el refactor temido. En primer lugar, evitaría usar el mismo nombre en una propiedad y una clase. – WEFX

0

estaba pensando exactamente lo mismo hoy en día.

Si bien la funcionalidad no está en VS vainilla, es bastante posible modificar algunos códigos para agregar esta funcionalidad. Por ejemplo, el XAML Presenter, probablemente el nombre del componente del presentador que debe modificar, hace algo similar. XAML Presenter

Se estrecha por espacio de nombres y ordena por tipo de atributo. Básicamente, tomaré la lista de la fuente de terminación Intellisense y ordenaré la lista. Suena bastante simple.

Más desafiante es la implementación de los controles de la interfaz de usuario. Odio diseñar controles de UI. . .

Editar:

Sin embargo, no me FORSEE una manera de hacer esto sin romper características Intelllisense de ReSharper.

0

Use VS 2010, supongo? Sin embargo, no puedo ver qué situación haría que VS pusiera clases sobre las propiedades.

Cuestiones relacionadas