2010-05-20 137 views
8

當我停下來的Visual Studio 2008年從包裝線我已經與Visual Studio 2008如何格式化代碼

一個惱人的問題。當我運行「格式代碼」命令(「控制+ K,控制+ d」) - 它會插入回車。我如何讓它停止這樣做?

例如:

<label for="shipCompanyName">Company Name:</label>

不期望地變得

<label for="shipCompanyName">
Company Name:<label />

+0

這很有趣,因爲我嘗試了同樣的事情,得到了與OP相同的結果。這對我來說似乎是一個錯誤。這甚至發生在2010年。 – azamsharp 2010-05-20 20:58:04

回答

8

進入工具,選項。打開文本編輯器,HTML和格式。取消選中「超過指定長度時包裹標籤」。

奇怪的是,VS2008沒有相同的XML選項。

+0

這也是我想到的第一件事。所以我試了一下,發現它適用於設計視圖,但不適用於ctrl-k ctrl-d或ctrl-k ctrl-f。 – 2010-05-20 20:24:18

+0

@Bradley:奇怪,我只測試了它在ASP.NET項目中的ASPX頁面的源代碼(不是csproj中的隨機HTML頁面或任何東西),但Ctrl-K,Ctrl-D運行正常。你確定頁面中沒有任何語法或格式錯誤(不正確的嵌套,未封閉的標籤)?這將停止Ctrl-K,Ctrl-D的工作。我們有一個特別的頁面,由於頁面中的一些Javascript拒絕自動格式化。 – 2010-05-24 13:28:40

+0

這完全有可能。我們有大量的HTML在VS中引發驗證警告(由於服務器端條件語句),但是一旦服務器端代碼運行就呈現有效。 – 2010-05-24 14:23:35

6

我使用ReSharper

您可以配置是否包裝或不包含在ReSharper中。

ReSharper的 - >選項 - > C# - >格式樣式 - >換行和包裝 - >迴繞長行

+0

我沒有在這臺機器上resharper – rsturim 2010-05-20 19:53:29

+0

好吧,這只是一個建議,將解決您的問題。 – brickner 2010-05-20 19:54:28

+0

我同意。這對OP來說可能不是正確的答案,但我不會說它應該是一個倒退,因爲它是一個有效的答案。 – 2010-05-20 19:57:42