Visual Studio 2019 закрывает фигурную скобку не под открывающей скобкой (вместо этого она полностью выровнена по левому краю) - PullRequest
2 голосов
/ 01 октября 2019

В последнее время закрывающая фигурная скобка начинает выравниваться по левому краю, а не под открывающей скобкой, но только когда пустые скобки:

(я в Visual Studio 2019, в коде C #) Шаги:

напишите это:

namespace myNameSpace
{
    class myClass
    { }
}

Затем нажмите клавишу возврата, находясь между фигурными скобками, он сделал это:

namespace myNameSpace
{
    class myClass
    { 
 }
}

Обратите внимание, что закрывающая скобка класса не находится подоткрывающий.

Как я могу получить это вместо этого, где опция форматирования?

namespace myNameSpace
{
    class myClass
    { 
    }
}

Спасибо,

Ответы [ 4 ]

4 голосов
/ 01 октября 2019

Я видел это раньше в разных версиях VS. Это на самом деле не воспроизводимо, но иногда без объяснения причин VS просто начинает действовать таким образом.

Есть несколько способов справиться с этим. Быстрое решение состоит в том, чтобы просто нажать

ctrl+k+d

, и это автоматически выровняет весь код (и комментарии) в открытом файле. Хотя это исправит смещенные скобки после факта, это не помешает VS продолжать делать это.

Если это слишком раздражает (что может!), Тогда вы можете ctrl+a скопировать все. Затем вставьте его в текстовый файл (чтобы вы случайно не потеряли его). Удалить файл из проекта. Затем удалите фактический файл из рабочей папки. Закройте и снова откройте VS. Затем заново создайте файл и вставьте все содержимое обратно в него.

Что должно решить проблему.

3 голосов
/ 01 октября 2019

Хорошо, оно появилось, но я могу ошибаться, что управление смарт-вкладками в последнее время изменилось, и теперь оно больше не вставляет вкладку в начале второй пустой строки в блоке (как в каком-то другом редакторе кода). Поэтому на второй строчке остается только пробел, что приводит к моей «проблеме».

Я всегда использовал отступ с умной вкладкой для всего языка, а затем в последнее время он изменился, вызвав это. Таким образом, решение для меня было вернуться к Отступ блока , и оно работает хорошо. Я не знаю, какие другие различия это может вызвать, но ...

ПРИМЕЧАНИЕ: это происходит только при использовании опции Keep tabs

Спасибо всем, вашкомментарии приводят меня к решению (или, по крайней мере, обходному пути).

3 голосов
/ 01 октября 2019

Отступы и стили крепления, как правило, являются религиозными вопросами. Когда вы переходите от команды к команде, вам приходится изучать местный стиль скобок / отступов. На ней есть целая статья в Википедии (https://en.wikipedia.org/wiki/Indentation_style).

. В Visual Studio вы можете настроить предпочитаемый стиль фигурных скобок / отступов. Я предполагаю, что ваше крепление / отступ нарушено и его необходимо сбросить.

Чтобы попасть туда:

Tools ->> Options ->> Text Editor ->> C# ->> Code Style ->> Formatting ->> Indentation

Когда вы окажетесь там, если вам что-то нужно, измените их на что-то еще, прежде чем ОК из диалогового окна. Затем сделайте это снова и изменитеэто обратно. Если они не соответствуют вашему желаемому стилю, просто измените вещи (идея в том, что вам нужно внести изменения, чтобы ваши изменения были сохранены).

Удачи

0 голосов
/ 03 октября 2019

Автоматическое форматирование при вводе выглядит отключенным по умолчанию в Visual Studio 2019. Чтобы автоматически отформатировать код, перейдите в Сервис -> Параметры -> Текстовый редактор -> C # -> Стиль кода ->Форматирование и выберите параметр Автоматически форматировать при вводе , затем выберите свои предпочтения относительно того, когда должно быть запущено автоматическое форматирование. Пример снимка экрана:

Параметр автоформатирования в Visual Studio 2019

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...