2010-07-22 14 views
14

W języku Visual Basic (widziałem to w 2005 i 2008 roku) po uderzeniu w punkt przerwania lub pojedynczy krok, a kod w tej linii rozciąga się Po zakończeniu ekranu okno automatycznie przewija się w prawo, tak aby jak najwięcej linii było widocznych. Rozumiem, dlaczego to może być przydatne, ale uważam, że jest to trochę rozpraszające, ponieważ ekran wydaje się przeskakiwać, podczas gdy próbuję debugować. Ponadto kontekst kodu można odciąć, więc jeśli istnieje kilka zagnieżdżonych pętli, ifs itp., Reszta kodu może być całkowicie nieekonomiczna, co jest frustrujące.W jaki sposób można zapobiec automatycznemu przewijaniu edytora Visual Studio, gdy punkt przełomowy zostanie trafiony

Czy ktoś wie, jak wyłączyć to zachowanie?

+0

Prawdopodobnie jest to bardziej bolesne, ale można włączyć zawijany. –

+1

Możesz włączyć zawijanie słów. To może być lepsze, jeśli możesz zobaczyć, jak here. –

+0

Zawijanie słów wydaje się być jedyną opcją. – Garrann

Odpowiedz

0

Możesz przytrzymać przycisk Ctrl i przewinąć w dół, aby pomniejszyć widok, aby zobaczyć więcej dokumentu, gdy jesteś w widoku kodu. Dzięki temu rozmiar czcionki jest mniejszy.

1

Powinieneś po prostu unikać pisania kodu, który pojawia się poza krawędzią ekranu.

Nie tylko powoduje to, że debugowanie jest znacznie trudniejsze, ale kiedy inni ludzie próbują odczytać kod, jest to bardzo trudne i frustrujące.

Nie powinieneś zagłębiać się w żadne pętle, ale zamiast tego powinieneś negować swoje warunki i używać break/return/escapes.

tego Więc zamiast:

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

Zamiast tego należy to zrobić:

if (!condition) return; 
//do stuff 

if (!anotherCondition) return; 
//more stuff 

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

Ponadto takie rzeczy jak sprawozdania LINQ/wyrażenia powinny być podzielone na kawałki być czytelny

a następnie :

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

co powoduje problem, zamiast zrobić to w ten sposób:

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