¿Cómo hacer que Visual Studio no ponga {en una nueva línea?


Si tengo código como este

if(true){

Y añado

}

Se transforma en

if (true)
{
}

Pero me gustaría que se mantuviera en formato

if (true) {
}

Incluso si copio código que tiene if así, se transforma en la versión más larga.

P.d. Entiendo que es un estándar de C++ y C# usar la versión más larga, sin embargo vengo de un estándar diferente, y es más fácil para mí usar la versión más corta.

Apuesto a que hay algún formateador opción que se puede desactivar o cambiar.

Author: ErikE, 2011-02-01

6 answers

Vaya a Herramientas -> Opciones -> Editor de texto -> C# - > Estilo de código-> Formato - > Nuevas líneas

Aquí hay muchas opciones. Elimine la verificación en todas las opciones aquí para nunca poner el corchete abierto en una nueva línea.

EDITAR

La sección New Line Options for expressions no se relaciona con la colocación del código junto con los corchetes, por lo que no es necesario tocarlos.

 81
Author: Øyvind Bråthen,
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-12-29 21:40:31

Tenga en cuenta que si está utilizando Resharper el procedimiento anterior no ayudará, ya que Resharper anula el comportamiento nativo VS. Si ese es su caso, vaya a Resharper > Opciones, Edición de código > C # > Estilo de formato > Diseño de llaves, establezca todas las opciones superiores de " Diseño de llaves "en"Al final de la línea (estilo K&R)".

Me llevó un tiempo resolver esto, así que espero que ayude a alguien.

 22
Author: MaDDoX,
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-04-03 09:42:23

Echa un vistazo a Tools -> Options luego Text Editor -> C# -> Formatting -> New Lines

 8
Author: Nekresh,
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
2011-02-01 09:38:39

Puede cambiar eso en las opciones de su Visual Studio. Vaya a Herramientas - > Opciones - > Editor de texto -> C# - > formateo - > nuevas líneas (o algo similar, solo tengo la versión alemana de visual studio). A continuación, puede cambiar dónde desea poner los corchetes en la siguiente línea y dónde no. Personalmente, eliminé todas las opciones, pero si desea tener una nueva línea, por ejemplo, en bucles, hay muchas opciones para personalizar esto.

 5
Author: Sören,
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
2011-02-01 09:38:33

Para C++, la única forma en que puedo evitar que VC++ ponga ' {'en una nueva línea para espacios de nombres es desmarcando la opción" Formatear automáticamente el bloque cuando escribo a}":

introduzca la descripción de la imagen aquí

 -1
Author: ShitalShah,
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
2016-09-21 23:25:45

Para hacer lo mismo con CSS tienes que ir a: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

CSS Auto Formateo Desactivado

 -2
Author: Andrew,
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
2016-08-29 04:22:11