85

In Visual Studio while designing MVC views (in .aspx or .ascx files), I often use if statements. When I auto-format (Ctrl+K+D), Visual Studio wraps the braces in this really ugly and hard to read way:

<% if (Model.UserIsAuthenticated)
    { %>
       (some HTML goes here...)
<% } %>

Is there any way to make Visual Studio auto-format like this instead:

<% if (Model.UserIsAuthenticated) { %>
       (some HTML goes here...)
<% } %>

Or is there a better way to do this? I don't want to use Razor quite yet, but it looks like it would solve my problem. I'm using VS2010 with Resharper 5, if that helps.

fwoosh
  • 184
  • 3
  • 15
Mike Comstock
  • 6,640
  • 10
  • 36
  • 41

4 Answers4

130

Under ToolsOptionsText EditorC#FormattingNew Lines are the rules for the open brace on each case (new methods, control blocks, etc), maybe you can find the one you want there.

enter image description here

fassetar
  • 615
  • 1
  • 10
  • 37
Felix Martinez
  • 3,928
  • 3
  • 31
  • 32
11

The menu has changed a bit with VS2019.

You can find formatting options by going into
ToolsOptionsText EditorC#Code StyleFormattingNewLines

Formatting options in Visual Stusio 2019

A-Nicoladie
  • 276
  • 2
  • 11
  • 1
    Thank you for showing the plethora of options. I still never understood why VS don't just have *one* option to control all of those and the entire convention. – not2qubit Jun 23 '21 at 21:40
3

In extension to Fleix Martinez's answer:

In mac, 2020 Visual Studio, this is how it is done:

Preferences -> Source Code -> Code Formatting -> C# Source Code -> select C# Format tab

  1. Press Edit enter image description here

  2. Select New Lines from Category

  3. Uncheck all these(choose at your will): enter image description here

Daksh Gargas
  • 3,498
  • 2
  • 23
  • 37
-1

the formatting is handled by individual plugins, for js you can use the following setting:

// Defines whether an open brace is put onto a new line for functions or not.
"javascript.format.placeOpenBraceOnNewLineForFunctions": true,