2010-07-22 6 views
14

In Visual Basic (ich habe das in 2005 und 2008 gesehen), wenn Sie einen Haltepunkt oder einen einzelnen Schritt drücken und der Code in dieser Zeile über den Am Ende des Bildschirms scrollt das Fenster automatisch nach rechts, so dass so viel wie möglich von der Linie sichtbar ist. Ich kann sehen, warum das nützlich sein könnte, aber ich finde es ein wenig störend, da der Bildschirm viel herumspringt, während ich versuche zu debuggen. Außerdem kann der Kontext des Codes abgehackt werden, wenn also ein paar verschachtelte Schleifen, Wenns usw. vorhanden sind, kann der Rest des Codes vollständig außerhalb des Bildschirms liegen, was frustrierend ist.Wie kann ich verhindern, dass der Visual Studio - Editor automatisch horizontal scrollt, wenn ein Haltepunkt erreicht wird?

Kann jemand dieses Verhalten deaktivieren?

+0

Es ist wahrscheinlich schmerzhaft, aber Sie können auf Zeilenumbruch drehen. –

+1

Sie können den Zeilenumbruch aktivieren. Das könnte besser sein, Sie können sehen, wie here. –

+0

Word Wrap scheint die einzige Option zu sein. – Garrann

Antwort

0

Sie können die Strg-Taste gedrückt halten und zum Verkleinern nach unten blättern, um mehr von dem Dokument zu sehen, während Sie sich in der Codeansicht befinden. Dadurch wird die Schriftgröße kleiner.

1

Sie sollten nur extrem vermeiden, Code zu schreiben, der über den Rand des Bildschirms hinausgeht.

Nicht nur das macht das Debuggen viel schwieriger, aber wenn andere Leute versuchen, Ihren Code zu lesen, ist es sehr schwierig und frustrierend.

Sie sollten nicht tief in Loops verschachtelt sein, stattdessen sollten Sie Ihre Bedingungen negieren und Pausen/Returns/Escapes verwenden.

Anstatt also diese:

if (condition) { 
    //stuff 
    if (anotherCondition) { 
     //more stuff 
     if (yetanotherCondition) { 
      //starting to get to the edge of the screen soon... 
     } 
    } 
} 

Stattdessen sollten Sie dies tun:

if (!condition) return; 
//do stuff 

if (!anotherCondition) return; 
//more stuff 

if (!yetAnotherCondition) return; 
//so much more room to work with! 

Des Weiteren Dinge wie Linq Aussagen/Ausdrücke in Stücke gebrochen sein lesbar

eher dann sollte :

var foo = MyList.select(val => val.isThing() && val.isCorrect && val.hasConditions() && val.things.Any(thing => thing.isCorrect())).orderBy(val => val.property).First(); 

Welches ist Ihr Problem verursacht, stattdessen tun es wie folgt aus:

var foo = MyList.select(val => 
    val.isThing() 
    && val.isCorrect 
    && val.hasConditions() 
    && val.things.Any(thing => 
     thing.isCorrect() 
     ) 
    ) 
    .OrderBy(val => val.property) 
    .First();