2011-01-09 39 views
15

Ilekroć sformatować kod źródłowy HTML w programie Visual Studio z Ctrl-K, Ctrl-D to formatuje mój kod źródłowy takiego:HTML formatowanie w Visual Studio 2010

<p> 
    text</p> 
<p> 
    more text</p> 

Jak mogę zrobić to użyć następującego formatu zamiast?

<p> 
    text 
</p> 
<p> 
    more text 
</p> 

Wiem, że istnieją ustawienia w Opcje-> Edytor tekstu -> HTML -> Formatowanie, ale nie mogłem znaleźć odpowiedni tam.

Dzięki,

Adrian

Edit: Sprawdziłem ustawienia Tag-specyficzne i podział strony na znaczniki P jest ustawiony na "Przed otwarciem wewnątrz, a po zamknięciu". Również mały podgląd pokazuje dokładnie format, który chcę mieć. Ale Visual Studio nadal robi to źle. Czy to może mieć coś wspólnego z instalowaniem Resharpera w moim systemie?

Odpowiedz

19

Problem nie ma nic wspólnego z ReSharper. Jest to funkcja zaprojektowana przez program Visual Studio Source Formatter, który będzie próbował zmienić semantykę elementu ze względu na określone opcje formatowania.

Określiłeś, że chcesz, aby znaczniki p miały przerwy w treści, ale przerwa po tagu ap zmieniłaby semantykę treści w tagu, dzięki czemu formaterka zakończyłaby umieszczanie zamykającego znacznika p zaraz po Treść. Aby tag zamykający znajdował się w osobnej linii, musisz wyraźnie dodać spację tuż przed końcem treści i zamykającym tagiem.

Zatem:

<p>content</p> 

będzie produkować:

<p> 
    content</p> 

Chociaż (zwróć uwagę na wyraźne włączenie przestrzeni między zawartością a zamykającym znacznikiem P):

<p>content </p> 

będzie produkować:

<p> 
    content 
</p> 

Zostało to omówione w blog post autorstwa Scotta Guthriego w trzecim akapicie od dołu. Zacznij liczyć od akapitu tuż nad sekcją dodatkowych linków.

+0

Dlaczego dodanie spacji po elemencie 'p' zmienia semantykę? Czy przeglądarka potraktuje te sprawy inaczej? – knut

+0

Czy istnieje wtyczka, aby to naprawić? Ten problem z przestrzenią tylko działa na układ IE6, jak sądzę, i chciałbym go poprawnie sformatować. –

9

Kliknij Narzędzia, Opcje, Edytor tekstu, HTML, Formatowanie, Opcje specyficzne dla tagu.
Dodaj nowy tag po stronie klienta dla p (jeśli go już tam nie ma) i wybierz Separate Closing tag i Before, within, and after closing.

+0

Dzięki za odpowiedź! Zobacz moją edycję powyżej ... –