Visual Studio indent HTML tag contents

3.6k Views Asked by At

I have Resharper and Web Essentials installed in Visual Studio 2013, and would like to have the contents of an HTML tag in my .cshtml files be indented.

So what I do NOT want (and seems to be the default):

<html>
<body>
    <h1>Hello!</h1>
<body>
</html>

I DO want it to look like:

<html>
    <body>
        <h1>Hello!</h1>
    <body>
</html>

I've removed everything from Resharper -> Options -> Code Editing -> HTML -> Formatting Style -> Do Not Indent Children Of.

I've also checked Tools -> Options -> Text Editor -> HTML (Web Forms) -> Formatting -> Tag Specific Options -> Client Specific Tags -> html -> Indent Contents to no avail.

Note that I don't have a Tools -> Options -> Text Editor -> HTML -> Formatting, instead I have two subtrees, HTML and HTML (Web Forms), where only HTML (Web Forms) has the Formatting option.

Anyone know of a way to get Visual Studio to do this? It's very annoying to see my perfectly formatted HTML document go out the window whenever I add a new tag. Thanks!

2

There are 2 best solutions below

2
On BEST ANSWER

One more reason why Resharper doesn't indent tag content - size of tag. Look for option Resharper -> Options -> Code Editing -> HTML -> Formatting Style -> Do not indent children if tag size more than If count of lines too much, Resharper' formatter doesn't indnent it. Try to set value e.g. 10000

3
On

I'm a bit late to the party, but it looks like you can fix this by removing "html, body" from "HTML -> Formatting Style -> (Around tags) Do not indent children of"

See here: enter image description here