Как я могу предотвратить автоматическую прокрутку редактора Visual Studio при достижении точки останова - PullRequest
18 голосов
/ 22 июля 2010

В Visual Basic (я видел это в 2005 и 2008 годах), когда вы нажимаете точку останова или один шаг и код этой строки простирается за конец экрана, окно автоматически прокручивается вправо, так что большая часть линия видна как можно скорее. Я могу понять, почему это может быть полезно, но я нахожу это немного отвлекающим, так как экран, кажется, много перепрыгивает, пока я пытаюсь отладить. Кроме того, контекст кода может быть обрезан, поэтому, если есть несколько вложенных циклов, ifs и т. Д., Тогда остальная часть кода может быть полностью за кадром, что расстраивает.

Кто-нибудь знает, как отключить это поведение?

Ответы [ 3 ]

1 голос
/ 16 апреля 2017

Вам просто следует избегать написания кода, который выходит за пределы экрана.

Мало того, что это затрудняет отладку, но когда другие люди пытаются прочитать ваш код, это очень сложно и расстраивает.

Вы не должны вкладываться глубоко в какие-либо циклы, но вместо этого вы должны отрицать свои условия и использовать breaks / return / 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();
0 голосов
/ 08 февраля 2019

Не точное решение, но вы можете перевернуть строки, щелкнув тонкую вертикальную линию свертывания / выделения кода рядом с номерами строк. Чуть лучше, чем спускаться к полосе прокрутки. Это в VS 2015.

0 голосов
/ 09 декабря 2015

Вы можете удерживать кнопку Ctrl и прокручивать вниз, чтобы уменьшить масштаб, чтобы иметь возможность видеть больше документа, пока вы находитесь в представлении кода. Это уменьшает размер шрифта.

...