Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio indent HTML tag contents

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!

like image 386
MatthewSot Avatar asked Dec 11 '14 00:12

MatthewSot


2 Answers

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

like image 169
Sean Anderson Avatar answered Sep 22 '22 18:09

Sean Anderson


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

like image 30
WinnieThePoooh Avatar answered Sep 23 '22 18:09

WinnieThePoooh