Desactiva el formateo automático en Visual Studio

134

Soy un purista de código, prefiero mi propio estilo de formato de código en lugar de la configuración predeterminada de Visual Studio. He desactivado las opciones de formateo automático en Herramientas / opciones. En la mayoría de los casos funciona.

Después de usar cualquiera de las refactorizaciones integradas, Visual Studio cambia mi configuración con su configuración predeterminada. ¿Cómo evito que VS haga eso?

Maciej
fuente
9
@ user1142958 cada pocos meses en un proyecto de código abierto y cada pocos años en el negocio, me encuentro con algunos puntos críticos que insisten en que su estilo es mejor que el estándar. A través de años de investigación, se ha determinado que los estándares de estilo mejoran la legibilidad y la facilidad de mantenimiento del código. Cuando los desarrolladores presentan su propio "mejor" enfoque, generalmente tiene la tendencia de rechazar a otros desarrolladores del equipo. Lea esto como un ejemplo: woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo
29
@senfo Esa es toda una gran información, pero el formateador incorporado de Visual Studio está indiscutiblemente roto en ciertos casos (por ejemplo, stackoverflow.com/questions/6459861/… ). En esos casos, prefiero usar mi ingenio humano para conformar los estándares que considero apropiados en lugar de confiar en el triste intento de VS de "estilo".
Dan Bechard
55
@senfo - VS .cshtml autoformatting, especialmente en términos de Razor está roto. Estuvo de acuerdo con que en otras partes, pero esto no es una característica - es un error
Ross
55
Cuando "el estándar" se parece a dos gatos peleados en el teclado, la consistencia no es una virtud. Llámame un hotshot, pero el tiempo extra para hacer legible el código lo vale. Mi experiencia es perfectamente coherente: las personas más apasionadas por la consistencia (sic) han promovido el código más ilegible que pueden encontrar.
Chris Fox
55
Un purificador de código es una persona que ingresa el texto en el formato correcto, por lo que no hay necesidad de formateo automático (posiblemente roto).
Anders Lindén

Respuestas:

106

Tuve este problema al escribir VB en una aspxpágina.

La solución fue ir a 'Herramientas> Opciones> Editor de texto> Básico> Específico de VB' y desactivar 'Listado bonito'.


Nota: en Visual Studio 2015 esto se puede encontrar en:

Herramientas> Opciones> Editor de texto> Básico> Avanzado

Tango91
fuente
Desearía poder vincular estas casillas de verificación fácilmente a cualquier tecla corta.
Mike de Klerk
1
Gracias, esto funcionó para mí. El "bonito" es increíblemente malo, con los parámetros de función "escondidos debajo" del nombre de la función, una opción inexplicable cuando la alineación vertical tabular es lo que cualquiera que trabaja en comunicaciones puede decirle que es más fácil de entender.
Chris Fox
54
solo voy a hacer una pausa para admirar la belleza de tener una jerarquía de árbol de opciones que dice text editor -> basic -> advanced... 'oh sí, ¿quieres la sección avanzada'? Eso está bajo básico
fostandy
12
@fostandy, me doy cuenta de que probablemente lo sepas, pero basices el nombre del idioma, no la sección de opciones, ya que C # también aparece allí.
Lightfire228
32

Inhabilitar lista bonita. Es la opción que vuelve a formatear lo que está haciendo. Tuve la misma incomodidad y, después de hacerlo, mi código se mantiene como quiero y no vuelve a la configuración anterior.

ingrese la descripción de la imagen aquí

RADIO
fuente
No tengo esta opción en mi VS2010 Premium
Maciej
2
Lo arregla en VS2017
Doug Null
No solucionó mi problema de C ++ en VS 2013. Y estoy seguro de que no se rompió antes de cambiar de máquina
CashCow
6

En mi caso, fue ReSharper.

Prueba si ReSharper

StackOverflow: ¿Cómo puedo deshabilitar ReSharper en Visual Studio y habilitarlo nuevamente?

Evite que ReSharper vuelva a formatear el código

StackOverflow: ¿Hay alguna forma de marcar el código para decirle a ReSharper que no lo formatee?

Actualizar

Fue ReSharper al final:

ingrese la descripción de la imagen aquí

Aplazamiento de pago
fuente
2
Gracias, esto me estaba volviendo loco.
Simon Arnold
1
De acuerdo, las llaves siempre estaban en el lugar equivocado, y literalmente pisoteó el código con una pesada bota calzada cada vez que golpeaba un punto y coma. No es genial
Contango
5

Es posible que haya instalado Power Tool .

En este caso, puede desactivarlo desde 'Herramientas> Opciones> Herramientas de productividad> Comandos de energía> General'

ingrese la descripción de la imagen aquí

Efreeto
fuente
4

Como lo sugirió @TheMatrixRecoder, me costó un poco encontrarlo, así que tal vez esto ayude a alguien más. La opción VS 2017 se puede encontrar aquí

Haga clic en estas opciones para evitar el molesto formato automatizado cuando coloca un punto y coma o pulsa la tecla de retorno al final de una línea.

Tim Newton
fuente
3

En VS2017 puede cambiarlo después de seleccionar su idioma de codificación en el menú de configuración. Hay una opción llamada "nuevas líneas" en el submenú "Formateo".

TheMatrixRecoder
fuente
2

Dudo que pueda deshabilitar el formateo después de refactorizar. La refactorización cambia el código y, dado que es solo texto, dudo que lo que quiera es que simplemente arroje texto sin formato a su fuente. ¿No sería un poco más fácil simplemente configurar el estilo de código que VS adhiere al estilo que le gusta y sigue?

Joey
fuente
1
A veces el estilo de codificación no es algoritmizable. A veces es deliberadamente inconsistente porque uno contribuye a un proyecto con un estilo de codificación inconsistente y quiere adherirse al estilo de codificación de la parte específica del código que se está editando.
Palec
2

El reformateo en punto y coma o llave de cierre no se puede desactivar. Encuentro irritante que Microsoft tenga la temeridad de decirle a alguien cómo formatear el código; El código más ilegible que he visto fue mientras trabajaba allí.

Quiero que las tareas adyacentes estén alineadas verticalmente; VS los reformatea a un espacio a cada lado del signo igual, independientemente de la longitud de la variable a la izquierda. Esto es intolerable Y desactivarlo en las opciones del editor se ignora; dado comentarios como el primer abridor, estoy seguro de que esto es deliberado.

La consistencia es solo una virtud cuando conduce a resultados deseables. Este no es uno.

Chris Fox
fuente
2

Configuración de VS2015 que me ayudó a evitar el formateo automático:

(y Herramientas> Opciones> Editor de texto> Básico> Avanzado, tal como lo sugirió Tango91 )

ingrese la descripción de la imagen aquí

FrenkyB
fuente
1

Siga HERRAMIENTAS-> OPCIONES-> Editor de texto-> CSS-> Formato Elija "Reglas compactas" y desmarque "Sangría jerárquica"

Gozde Berberoglu
fuente
Editor de texto -> CSS o HTML -> Pestañas -> Sangrado -> (o) Ninguno
Bob Stein
1

Puede ser el caso de Clang Format. Anteriormente, todo el archivo se formateaba automáticamente al guardar el archivo, y me volvía loco (para los repositorios que Clang Format no está habilitado).

Tal comportamiento desaparece después de convertir "Herramientas -> Opción -> LLVM / Clang -> ClangFormat -> Formatear al guardar -> Habilitar" a Falso.

Formato de ClangFormat al guardar

Tomoyuki Aota
fuente
0

Puede modificar la configuración del formato del código. Siempre apago todos los saltos de línea adicionales, y luego funciona bien para la forma en que formateo el código.

Si modifica la configuración lo más cerca posible de su preferencia, eso debería dejarle un trabajo mínimo cada vez que use la refactorización.

Guffa
fuente
0

Además de la respuesta de Tango para la solución real, puede haber personas que realmente quieran mantenerse al día con los formatos automáticos, pero que no arruinen sus cambios relevantes. Le sugiero que modifique el archivo para activar el formateo automático, verifique esos cambios y luego continúe con los cambios reales que desea realizar.

De esa manera, su código puede mantenerse actualizado, pero su registro será relevante.

Rudy Scoggins
fuente
0

Intente deshabilitar la extensión Bundler & Minifier

darek
fuente