在Visual Basic中(我曾在2005年和2008年看到過這種情況)當您觸及斷點或單個步驟並且此行上的代碼延伸超過屏幕結束時,窗口會自動向右滾動,以便儘可能多地顯示線條。我可以看到爲什麼這可能是有用的,但我發現它有點讓人分心,因爲在我嘗試調試時屏幕似乎跳了很多。此外,代碼的上下文可以被切斷,所以如果有幾個嵌套循環,ifs等,那麼其餘的代碼可以完全在屏幕外,這是令人沮喪的。如何防止Visual Studio編輯器在遇到斷點時自動水平滾動
有誰知道如何禁用此行爲?
在Visual Basic中(我曾在2005年和2008年看到過這種情況)當您觸及斷點或單個步驟並且此行上的代碼延伸超過屏幕結束時,窗口會自動向右滾動,以便儘可能多地顯示線條。我可以看到爲什麼這可能是有用的,但我發現它有點讓人分心,因爲在我嘗試調試時屏幕似乎跳了很多。此外,代碼的上下文可以被切斷,所以如果有幾個嵌套循環,ifs等,那麼其餘的代碼可以完全在屏幕外,這是令人沮喪的。如何防止Visual Studio編輯器在遇到斷點時自動水平滾動
有誰知道如何禁用此行爲?
您可以按住Ctrl鍵並向下滾動縮小以便在代碼視圖中查看更多文檔。這樣做會使字體變小。
您應該避免編寫離開屏幕邊緣的代碼。
這不僅會使調試變得更加困難,而且當其他人嘗試讀取代碼時,這是非常困難和令人沮喪的。
你不應該嵌套到任何循環中,而是應該否定你的條件並使用break/returns/escapes。
因此,不是這樣的:
if (condition) {
//stuff
if (anotherCondition) {
//more stuff
if (yetanotherCondition) {
//starting to get to the edge of the screen soon...
}
}
}
相反,你應該這樣做:
if (!condition) return;
//do stuff
if (!anotherCondition) return;
//more stuff
if (!yetAnotherCondition) return;
//so much more room to work with!
而且東西像LINQ語句/表達式應該分裂成塊,是可讀的
而不是:
var foo = MyList.select(val => val.isThing() && val.isCorrect && val.hasConditions() && val.things.Any(thing => thing.isCorrect())).orderBy(val => val.property).First();
導致你的問題,而不是這樣做:
var foo = MyList.select(val =>
val.isThing()
&& val.isCorrect
&& val.hasConditions()
&& val.things.Any(thing =>
thing.isCorrect()
)
)
.OrderBy(val => val.property)
.First();
這可能是更痛苦,但你可以打開文字換行。 – 2012-06-14 14:39:07
你可以打開自動換行。 這可能會更好,你可以看到如何 here。 – 2015-05-28 15:15:06
Word包裝似乎是唯一的選擇。 – Garrann 2015-08-21 15:16:00