2011-01-09 220 views
15

格式每當我在Visual Studio中使用Ctrl-K,按Ctrl-d格式化的HTML源代碼,將其格式化我的源代碼是這樣的:HTML在Visual Studio 2010

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

我怎樣才能使它使用以下格式代替?

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

我知道在選項 - >文本編輯器 - > Html - >格式設置,但我找不到合適的。

感謝,

阿德里安

編輯:我已經簽了特定標籤的設置,與p標籤分頁設置爲「開幕前,中,後關閉」。另外,小預覽顯示了我想要的格式。但Visual Studio仍然是錯誤的。這可能與我的系統上安裝的Resharper有關嗎?

回答

19

問題無關與ReSharper的。這是Visual Studio源格式程序設計中的一個特性,它將嘗試不會因您指定的格式化選項而更改元素的語義。

因此,您指定您希望p標籤在內容中有中斷,但是在ap標籤之後的中斷會改變標籤內容的語義,因此格式化程序最終會立即關閉p標籤內容。要將結束標記放在單獨的行中,您需要在內容末尾和結束標記之前明確添加空格。

因此:

<p>content</p> 

會產生:

<p> 
    content</p> 

雖然(注意的內容和閉合p標籤之間的空間的顯式包含):

<p>content </p> 

將產生:

<p> 
    content 
</p> 

Scott Guthrie在blog post的底部第三段中對此進行了討論。從附加鏈接部分正上方的段落開始計算。

+0

爲什麼在`p`元素之後添加空格會改變語義?瀏覽器會不同地處理這些情況嗎? – knut 2013-01-17 11:45:08

9

單擊工具,選項,文本編輯器,HTML,格式,標籤特定選項。
p添加一個新的客戶端標記(如果它不存在)並選擇Separate Closing tagBefore, within, and after closing

+0

感謝您的回覆!請參閱我上面的編輯... – 2011-01-09 14:22:41