Jak sprawić, by bloki serwerów <% %> dobrze formatowały się w Visual Studio?

Używam ASP.NET MVC dużo ostatnio, co oznacza używanie bloków serwerowych kilka. Visual Studio robi takie dziwne rzeczy, gdy piszę:

<% } %>

I wciśnij enter, rozumiem to:

<%
     }
     %>
Co jest nieestetyczne i ogólnie najstraszniejsza rzecz, jaką kiedykolwiek widziałem. Dostosowałem zachowanie Ctrl + K + D dość mocno i kiedy to robię, wszystko wygląda tak, jak chcę, z wyjątkiem tego jednego przypadku. Czy ktoś ma jakieś sugestie jak to dostosować?
Author: JC Grubbs, 2009-04-06

2 answers

Patrząc na zachowanie. Nie wiem, czy można go zastąpić tylko dla edytora HTML. Jest to zachowanie zdefiniowane w preferencjach edytora C#.

Przypuszczam, że mógłbyś zmodyfikować zachowanie nawiasu zamykającego w preferencjach edytora C#, ale zrobiłoby to dla ciebie straszne rzeczy .pliki cs.

Edit:

Znudziło mi się szukanie innych sposobów. Więc napisałem to makro. Testowany w VS 2K8. Nie 2k5. Możesz zobaczyć, co to robi. Przepraszam. o VB, ale był to domyślny edytor makr.
Sub FixFormatCurrentFile()

    Dim selection As TextSelection = DTE.ActiveDocument.Selection
    Dim fixed As String = "<% } %>"
    Dim regex As String = "\<\%:Wh*\}:Wh*\%\>"

    While selection.FindPattern(regex, vsFindOptions.vsFindOptionsRegularExpression)
        selection.ReplacePattern(regex, fixed, vsFindOptions.vsFindOptionsRegularExpression)
    End While
End Sub
 3
Author: Chad Ruppert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-08 02:38:53

Myślę, że formatujesz to przez Ctrl + K, Ctrl + D

 0
Author: Hannoun Yassir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-07 20:50:27