2010-07-22 12 views
14

在Visual Basic中(我曾在2005年和2008年看到過這種情況)當您觸及斷點或單個步驟並且此行上的代碼延伸超過屏幕結束時,窗口會自動向右滾動,以便儘可能多地顯示線條。我可以看到爲什麼這可能是有用的,但我發現它有點讓人分心,因爲在我嘗試調試時屏幕似乎跳了很多。此外,代碼的上下文可以被切斷,所以如果有幾個嵌套循環,ifs等,那麼其餘的代碼可以完全在屏幕外,這是令人沮喪的。如何防止Visual Studio編輯器在遇到斷點時自動水平滾動

有誰知道如何禁用此行爲?

+0

這可能是更痛苦,但你可以打開文字換行。 – 2012-06-14 14:39:07

+1

你可以打開自動換行。 這可能會更好,你可以看到如何 here。 – 2015-05-28 15:15:06

+0

Word包裝似乎是唯一的選擇。 – Garrann 2015-08-21 15:16:00

回答

0

您可以按住Ctrl鍵並向下滾動縮小以便在代碼視圖中查看更多文檔。這樣做會使字體變小。

1

您應該避免編寫離開屏幕邊緣的代碼。

這不僅會使調試變得更加困難,而且當其他人嘗試讀取代碼時,這是非常困難和令人沮喪的。

你不應該嵌套到任何循環中,而是應該否定你的條件並使用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(); 
相關問題