Formateo de corsé personalizado con Resharper

78

Estoy usando Resharper 4.5 y necesito un formato personalizado de llaves al escribir una matriz o un inicializador de objetos. Resharper admite algunos estilos:

Estilo Gnu:

int[] array = new int[]  
                  {  
                      1, 2, 3  
                  }  

Pero yo necesito:

int[] array = new int[] 
{  
    1, 2, 3  
}  

¿Hay alguna forma de personalizar estas plantillas?

Hadi Eskandari
fuente

Respuestas:

165

Puede personalizar ReSharper para hacer precisamente eso, deberá hacer lo siguiente (Todo en ReSharper -> Opciones -> C # -> Estilo de formato ):

  1. En Diseño de llaves , configure Array and object initializer en En la línea siguiente (Estilo BSD) .
  2. En Otro , asegúrese de que el multiplicador de sangría de línea continua esté establecido en 1 .
  3. En Otro , asegúrese de que el bloque de inicialización de matriz, objeto y colección de sangría no esté marcado .

Deberías conseguir el estilo que quieras.

Igal Tabachnik
fuente
Lástima que alguien no pueda marcar esto como la respuesta correcta porque obviamente lo es.
jeremcc
1
No, esta no es una solución. Esta configuración no coloca la primera llave en la siguiente línea.
brianary
1
Esto necesita un paso 4: En '' Otro '', asegúrese de que 'Sangrar matriz, objeto y bloque inicializador de colección' esté '' desmarcado ''.
brianary
1
Verifique la respuesta de @mbx para versiones más recientes.
Brk
1
En Resharper 8, para el paso 3, se eliminó la primera palabra "Sangría". Por lo tanto, debe buscar "Bloque inicializador de matriz, objeto y colección" y desmarcarlo.
stricq
9

A partir de R # 7.1, se cambiaron algunos atributos de opción:

  1. En Diseño de llaves , configure Array and object initializer en En la línea siguiente (Estilo BSD) .
  2. En Otro , asegúrese de que el multiplicador de sangría de línea continua esté establecido en 1 .

como en versiones anteriores y

  1. En Otro , en Alinear construcciones multilínea, asegúrese de que el inicializador de Array, objeto y colección esté desmarcado.
mbx
fuente
0

(continuación de las respuestas anteriores de @igal y @mbx)

A partir de R # 2017.1 (y posiblemente versiones anteriores), haga lo siguiente:

  1. En Estilo de formato -> Diseño de llaves , configure Array e inicializador de objeto en En la línea siguiente (Estilo BSD)
  2. En Estilo de formato -> Otro -> Sangría , asegúrese de que el multiplicador de sangría de línea continua esté configurado en 1
  3. En Estilo de formato -> Otro -> Alinear construcciones de varias líneas , asegúrese de que el inicializador de Array, objeto y colección esté desmarcado . También puede desmarcar el cuerpo del método anónimo si se ajusta al mismo estilo.
cristobalito
fuente
-4

Hasta donde yo sé que no puedes, Resharper viene con estilos predefinidos, pero tal vez si creas tu propia plantilla en vivo y la configuras de la manera que quieres, funcionará.

espero que esto ayude.

DevMania
fuente
parece que realmente no puedes ... la plantilla en vivo hace algo más, sin embargo, no tiene ningún efecto en el formato del código.
Hadi Eskandari