Visual Studio indent HTML tag contents
Asked Answered
W

2

10

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!

Whenas answered 11/12, 2014 at 0:17 Comment(0)
G
11

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

Giagiacamo answered 12/12, 2014 at 8:17 Comment(2)
I think that fixed it, though right-clicking and "format document" still undoes the indent :\ This at least fixes the while-typing corrections, though, thanks!Whenas
It's strange behaviour. I've created issue RSRP-429035 for it. It would be great if you'll attach some description to issue and code exampleGiagiacamo
B
12

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

Botticelli answered 27/5, 2015 at 23:30 Comment(3)
Thanks for the answer! In the original question, though, I had mentioned that I had removed all tags from that option in Resharper, so unfortunately this wasn't it (maybe they've fixed the bug since then, I would have to double-check now)Whenas
It seemed to work for me in ReSharper 9.x, but it still had the issue with clicking 'Format Document' :(Botticelli
Thank you! This was driving me nuts for way too long.Rois
G
11

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

Giagiacamo answered 12/12, 2014 at 8:17 Comment(2)
I think that fixed it, though right-clicking and "format document" still undoes the indent :\ This at least fixes the while-typing corrections, though, thanks!Whenas
It's strange behaviour. I've created issue RSRP-429035 for it. It would be great if you'll attach some description to issue and code exampleGiagiacamo

© 2022 - 2024 — McMap. All rights reserved.