¿Cómo desactivo el formateo automático en VS2013 para C++?


VS2013 ha añadido formato automático para C++. Mi opinión personal sobre el formateo automático es que en última instancia es perjudicial para los desarrolladores, pero tengo que aceptar que no todos están de acuerdo. Lo que me molesta es que no puedo desactivar el formateo automático por completo. He desmarcado cada casilla de verificación en Herramientas->Editor de texto->C/C++->Formateo - > General aún cuando escribo:

void f ()

VS2013 reemplaza esto con

void f()

Ese no es el código estándar en este proyecto específico, lo que significa que tengo que ir volver e insertar un espacio. Hay otros ejemplos donde tengo que luchar contra VS.

No quiero cambiar la configuración de espaciado porque

  1. Trabajo en múltiples proyectos con diferentes estándares de código
  2. No creo en el formateo automático, así que solo quiero que se salga de mi camino

Solo quiero que VS no modifique mi código automáticamente.

PS. No estoy en contra de que VS puede formatear el código, pero quiero invocar que manualmente

Author: Just another metaprogrammer, 2013-08-18

7 answers

Puede desactivar el formateo automático de código C / C++ /C# yendo al diálogo Opciones desde el menú Herramientas , seleccionando el Editor de TextoC / C++ / C#FormatoGeneral página, y desmarcando todas las casillas allí. Aún podrás formatear manualmente cuando todos los ajustes de formato automático estén desactivados.

introduzca la descripción de la imagen aquí

 36
Author: Jennifer Leaf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-07 10:11:40

Sé que esta no es exactamente la respuesta que está buscando, pero puede preservar ese formato void f () si va a Herramientas > Opciones > Editor de texto > C/C++ > Formateo > Espaciado y en Espaciado para parantesis de funciones marque la opción Insertar espacio entre los nombres de las funciones y los paréntesis de apertura de la lista de argumentos.

 8
Author: Marius Bancila,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-18 20:16:36

También tuve este problema y desmarcar todas las casillas de verificación en las opciones de formato no ayudó.

Resultó que esto fue causado por una opción en el plugin "Visual Assist X" de Whole Tomato Software.

En mi caso, este problema podría resolverse yendo a "Opciones de Asistencia visual"> > "Correcciones" y desmarcando la casilla de verificación "Formatear después de pegar".

 6
Author: Gerhard Wonner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-05 07:33:56

Es un error en VS 2013 beta que no se puede desactivar por completo, ver problema enviado por FuleSnabel: http://connect.microsoft.com/VisualStudio/feedback/details/797716/turning-off-auto-formatting-for-vs2013-c-only-seems-to-partial-disable-auto-formatting. Algunas posibles soluciones:

  1. Si solo echa un vistazo a algunos proyectos que tienen un estilo diferente / extraño: si ocurre un formateo automático no deseado, entonces puede realizar un paso de deshacer, esto debería deshacer solo el auto formatear parte de la operación y no su contribución. Afortunadamente estos dos (o a veces más pasos de formato automático) no están agrupados en un comando probablemente por esta razón exacta: puede volver atrás y anularlo. Sin embargo, es molesto si eso sucede todo el tiempo. Puede configurar el comportamiento para que coincida con su estilo, pero dice que tiene un proyecto con diferentes estilos de código.
  2. Herramientas/Configuración de importación y exportación... - puede exportar la configuración específica para un proyecto determinado y luego importarlo más tarde. Esto guardará el archivo en formato XML .vssettings. Si se trata solo de un tipo de archivo específico, que puede ser solo unos pocos kilobytes de largo. Desafortunadamente, esto requiere pasos manuales. Lo mejor sería que estas configuraciones pudieran ser anuladas desde el archivo de configuración de la solución o incluso el archivo de configuración del proyecto, podría ser parte de ellas.
  3. Tenga en cuenta que este segundo punto es problemático si realmente trabaja en paralelo en sus proyectos con estudios Visuales abiertos simultáneamente. En este caso esa configuración se guardará finalmente lo que la última instancia VS cerrada tenía creo.

Tener un formato automático diferente guardado para las soluciones puede ser una solicitud de características para la próxima versión (ciertamente no llegar a VS 2013). Lo que suelo encontrar son las diferencias de comportamiento de la sangría de tabulación/espacio, es la diferencia más común en los estilos de proyecto. La sangría también se puede configurar individualmente para la mayoría de los tipos de archivos, pero como en su caso, los proyectos pueden diferir, y luego se convierte en molesto.

 3
Author: Csaba Toth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-22 18:31:02

Solo recuerde que resharper también puede anular la configuración de sangría/formato. Puede desactivar eso haciendo esto

ReSharper -> Options -> Environment -> Editor -> Editor Behaviour -> Auto-format on closing brace (desmarque esto).

introduzca la descripción de la imagen aquí

 3
Author: VVV,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-28 05:05:37

Ir a:

Herramientas->Opciones->Editor de texto->C/C++->Formato - > Espaciado

Luego deseleccione o seleccione las casillas que pertenecen al tipo de código que está escribiendo.

 1
Author: Eugene,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-25 18:21:53

Para desactivar la finalización automática de llaves, vaya a:

Herramientas > Opciones > Editor de texto > Todos los idiomas > General > Finalización automática de llaves

...luego desmarque "Finalización automática de llaves".

 1
Author: samraat55,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-30 15:57:53