Хорошо, я проверил это. Результат кажется довольно очевидным — вы сказали Visual Studio не форматировать код на }
, поэтому он этого не делает.
Другими словами, поведение в старых Visual Studio кажется нарушенным — даже если вы указали, что не хотите, чтобы VS выполнял форматирование за вас, он делает это. В конце концов, когда вы печатаете, ваш курсор оказывается на _
здесь:
class Test
{
_
Затем вы просто добавляете }
, так что
class Test
{
}
Какая старая Visual Studio автоматически форматирует как
class Test
{
}
даже если вы сняли флажок Automatically format completed block on }
. Это явно автоформатирование - если вы нажмете Ctrl+Z
, он вернет форматирование, а не само }
. Возможно, поведение в VS2015 является исправлением ошибки, присутствующей в старых версиях.
Это становится намного более очевидным, когда я начинаю использовать сумасшедшее форматирование с вашими настройками. Код такой:
class Test
{
public
string
Ana
{
get; set;
}
}
становится
class Test
{
public
string
Ana
{
get; set;
}
}
на ВС2013! Это явно неправильно. С другой стороны, VS2015 корректно применяет без форматирования — он просто размещает курсор в том месте, которое, по его думанию, вам нужно, и никогда не применяет какое-либо форматирование автоматически.
Итак, есть ли способ вернуться к старому поведению? Ничего простого, я боюсь - я предполагаю, что MS просто считает правильным поведение, а старый глючит, и с этим трудно поспорить. Есть некоторые обходные пути, которые вы могли бы использовать, чтобы приблизиться к старому поведению, например, вручную отключить все автоматическое форматирование, кроме выравнивания фигурных скобок, но это все равно немного изменит поведение.
Тем не менее, я вижу, насколько поведение, которое вы ожидаете, было бы желательным. Если вы считаете, что это того стоит, вы можете попробовать зарегистрировать это как ошибку в Connect, хотя я бы не дал ей большого шанса быть «исправленной» — IMO, это исправление ошибки, а не ошибка.
01.07.2015
Automatically format completed block on }
означает «Применить все фактические правила автоформатирования, установленные вами при завершении блока кода, который вы вводите». Кроме того, эта ошибка (если это является ошибкой) присутствует в Visual Studio как минимум с 2008 года. Зачем исправлять ее сейчас? 01.07.2015