2011-01-31 13 views
9

Estoy usando VS 2010 con reafilamiento. Si tengo una clase llamada ConfigParserTests y luego escriboAutocompletar Resharper (o Visual Studio)

new ConfigParser(

el código se auto completa a

new ConfigParserTests()

que no es lo que quiero. Alguna idea de cómo desactivar esta desagradable característica.

[Editar]

¿Cuál es falta es escribir

new ConfigParser()

sin pulsar "Esc". En este caso, estoy usando TDD, por lo que ConfigParser no existe.

[/ editar]

he estado buscando tanto en el ReSharper e IntelliSense VS menús sin encontrar nada útil.

Respuesta

3

Seleccione Resharper \ Options. En la lista de la izquierda, seleccione Comportamiento \ Intellisence \ Comportamiento de finalización.

luego desactive las casillas de verificación en "solo artículo completa automáticamente con:"

5

No es claro si te quejas acerca de qué nombre de la clase que está llenando, o los paréntesis. Me dirigiré a ambos.

Si la clase que está tratando de utilizar está en otro espacio de nombres, y aún no ha agregado el using apropiado, entonces la finalización del código está haciendo exactamente lo que cabría esperar: le indicó qué espacios de nombres usar, y no le dijiste que usara el que tiene ; por lo que usa la coincidencia más cercana, como se esperaba.

Pero ReSharper tiene accesos directos que pueden ahorrarle trabajo al encontrar la clase y agregar el using por usted. Para este caso, le sugiero que busque en el different Ctrl+Space options en ReSharper. Puede escribir new cp < Ctrl + Alt + Espacio > y ReSharper le mostrará un menú emergente que le pregunta si quiere decir ConfigParser o ConfigParserTests. Cuando presione Enter para seleccionar el que desea, agregará el using necesario a la parte superior de su archivo y completará new ConfigParser() con el cursor entre los paréntesis.

(Si la clase ConfigParser todavía no existe, entonces eso es uno de los casos en los que no desee la terminación del código. Sólo tienes que escribir new ConfigParser y después haga clic en Esc antes de escribir el paréntesis de apertura.)

Si su El problema es que agrega un cierre paren, tenga en cuenta que si escribe ) ReSharper no agregará un segundo paréntesis de cierre: reconocerá que está escribiendo un paréntesis que ya ha agregado, por lo que simplemente moverá el cursor al derecho. Si por alguna razón aún no desea que complete la página abierta para usted, @jdv-Jan de Vaan's answer explica dónde cambiar esta preferencia.

+0

+1: Lo recordaré. –

+0

Se trata de los atajos de teclado. – MrBoJangles

5

Al hacer TDD debe poner el intellisense de VS en modo de sugerencia lugar del modo de finalización normal .

La diferencia se describe here

Desafortunadamente ReSharper se hace cargo de la intelisense lo que no puede cambiar el modo sin desactivar ReSharper.

7

Abrir ventana de Opciones, navegue hasta Intellisense> Autopopup. Aparecerán las opciones de autocompletar corresponden a varios casos y se clasifican de acuerdo con el lenguaje:

Changing Resharper auto-complete behaviour


Como se puede ver, se puede seleccionar para cada caso individual:

  • no hacer monitor.

  • Mostrar pero no preseleccionar. (parece adecuado para su caso)

  • Pantalla y preselección. (por defecto)


Diferentes opciones pueden seleccionarse en diferentes casos o idiomas. Por ejemplo, puede especificar diferentes comportamientos en C#:

  • Después punto

  • Después de 'nuevo'

  • en el Doc comenta

  • letra y dígitos

  • Donde se espera el valor

HTH

0

Si está utilizando ReSharper 6.0 Me gustaría actualizar a 6.1, ya que había una gran cantidad de este tipo de preselección de los errores introducidos en 6.0 y se fija en 6,1.

0

Seleccionar ReSharper \ Opciones \ Environment \ Intellisence \ Finalización Comportamiento A continuación, cambie las opciones en "Insertar paréntesis automáticamente después de la finalización: puede deshabilitar todos juntos Voz del viejo hombre Quiero escribir mi propio(), solo apertura, o Young Hip Cod er Amigo Me gusta el autorradio para hacerlo todo por mí hombre

Cuestiones relacionadas