2010-02-01 15 views
34

Uso con bastante frecuencia el comando ReSharper "Clean Up Code" para formatear mi código en nuestro estilo de codificación antes de verificarlo en el control de fuente. Esto funciona bien en general, pero algunos bits de código están mejor formateados manualmente (por ejemplo, debido a las reglas de sangrado en ReSharper, cosas como los métodos linq encadenados o los operadores ternarios multilínea tienen una sangría extraña que los empuja hacia la derecha).¿Hay alguna manera de marcar el código para decirle a ReSharper que no lo formatee?

¿Hay alguna manera de marcar partes de un archivo para decirle a ReSharper que no formatee esa área? Espero algún tipo de marcado similar a cómo ReSharper suprime otras advertencias/características. De lo contrario, ¿hay alguna forma de cambiar una combinación de configuraciones para que ReSharper pueda formatear correctamente la sangría?

EDIT:

he encontrado this post de los foros de ReSharper que dice que generó secciones de código (como se define en la página de opciones ReSharper) son ignorados en la limpieza del código. Sin embargo, después de haberlo probado, no parece ser ignorado.

+4

¿De verdad quieres "contaminar" tu código con el marcado específico R #? Yuck yuck yuck ... – Oded

+5

@Oded: No realmente, no, pero prefiero que el código sea ilegible debido a su diseño. – adrianbanks

+0

Puede seleccionar el código que desea limpiar, solo limpiará las cosas en la selección. Pero probablemente ya sabías esto. De todos modos, tengo el mismo problema, pero me he sometido a los deseos de ReSharper y luego he corregido manualmente la extraña sangría. – Skurmedel

Respuesta

3

Como último recurso, si tiene un código heredado que no desea formatear pero desea que las adiciones a la clase tengan un buen formato, haga la clase parcial y coloque un nuevo código en el nuevo archivo.

21

ReSharper> Opciones> Idiomas> C#> formato de estilo> Otros>

Desactive la opción "cuerpo método anónimo sangría" y "sangría matriz, colección de objetos y initilizer bloques" y cualquier otra cosa que se te ocurra.

+0

La opción "cuerpo de método anónimo" funciona (mostrando su método 'DoSomethog()' un tanto extraño como ejemplo), pero R # sigue formateando los otros bloques con sangrías grandes. – adrianbanks

+0

@adrianbanks - al quitar la marca de "Indent array, object and collection initilizer blocks" mis matrices e inicializadores se dejan en paz. No estoy seguro de a qué DoSomethog() te refieres. –

+0

@adrianbanks - también, si sus bloques ya están expulsados ​​de reformateo anterior, r # los va a dejar en paz. Establezca el primer corchete abierto donde lo desee, CTRL-D para formatear el resto y la subsiguiente limpieza del código no lo tocará. –

Cuestiones relacionadas