2011-07-12 14 views
9

Me preguntaba si hay alguna forma de atajar el proceso de inicialización de objetos con VS 2010 y Resharper (6). Cuando se le presente la punta amarilla de la herramienta, me gustaría que se cree una asignación para cada campo.Inicializador de autocompletado con Resharper 6 en Visual Studio 2010

Por ejemplo, generaría:

Contacto =; ContactId =; CreateDate =; etc., etc.

(uno para cada propiedad).

http://imgur.com/Cd5V7

Respuesta

4

finalización de código ReSharper funciona exactamente de esta manera. Tan pronto como se haya escrito en los tirantes, pulse Ctrl + Espacio para obtener la lista de todas las propiedades:

var data = new Data {|} 

Entonces, después de introducir una coma para delimitar propiedades, ReSharper finalización sólo mostrará propiedades que Haven' t aún inicializado. Más importante aún, cuando completa un nombre de propiedad, inserta la propiedad y el signo de igual.

2

Aún no respuesta satisfactoria en otro (por duplicado) pregunta: Is there a way, at design time, to initialize an object with all properties in Visual Studio 2010?

Closest answer sería la creación de una costumbre Fragmento de código o ReSharper Plantilla vivo, pero sólo veo una macro que desencadena "finalización inteligente", que es la sugerencia CTRL+SPACE vista en otra parte. Ofrezco esta respuesta incompleta en caso de que sea más fácil recordar un alias en lugar de una tecla de método abreviado.

Todavía me gustaría que realice finalización inteligente en esa lista emergente, que es realmente lo que la pregunta está pidiendo. También es posible que create a custom macro lo logre.

(voy a seguir buscando y actualizar esta respuesta si encuentro algo.)

+0

Hay algo de información útil en este caso parcialmente (automático generar un constructor con todas las propiedades establecidas a partir de argumentos): http: // stackoverflow.com/questions/2976363/how-do-i-generate-a-constructor-from-class-fields-using-visual-studio-and-or-re –

+0

Parece una característica asesina totalmente útil para el reafilado que aparentemente no han pensado en eso. Hay varias preguntas de stackoverflow que piden esto y regularmente lo deseo. –

+0

A menudo uso la búsqueda sublime + selección múltiple para hacerlo si hay muchas propiedades. (Específicamente: copie la clase original en una nueva pestaña del editor en blanco, busque (ctrl-f) "public", alt-enter para seleccionar todas las ocurrencias, ctrl-right/end para llegar a los nombres de las propiedades, ctrl-c para copiar los nombres de todas las propiedades, ctrl-a, pegar, ctrl-a, ctrl-l (L) para editar todas las líneas a la vez, añada "= ,"). –