Visual Studio добавляет пробел после операторов if - PullRequest
9 голосов
/ 17 ноября 2010

Иногда (но не всегда !?), когда я вставляю или заканчиваю строку точкой с запятой, Visual Studio добавляет пробел после оператора if!Например, при вставке это

if()

превратится в следующее:

if (condition)

, а при завершении строки

if(condition)
    DoSomething()

превратится вэто:

if (condition)
    DoSomething();

Необходимость постоянно удалять это пространство (иногда дважды!) сводит меня с ума Сумасшедшие! Кажется, это происходит с if и while, но не for.

Я не могу найти ничего, связанного с этим, в опциях VS.У меня установлен Resharper, но он настроен так, чтобы не добавлять пространство автоматически: (image of my resharper settings)

Почему Visual Studio наказывает меня?

Ответы [ 4 ]

18 голосов
/ 17 ноября 2010

В параметрах Visual Studio в разделе Текстовый редактор / C # / Форматирование / Интервал в части «Задать другие параметры интервалов» есть опция «Вставить пробел после ключевых слов в операторах потока управления».

Я подозреваю, вы обнаружите, что вы проверили это, и вы не хотите, чтобы это было.(У меня это проверено умышленно:)

4 голосов
/ 17 ноября 2010

Отключите автоматическое форматирование по своему усмотрению.

Инструменты-> Параметры-> Текстовый редактор-> C # -> Форматирование-> Общие.

Всеотмечен по умолчанию в моей конфигурации C # Express 2010:

  • Автоматически форматировать завершенный оператор на;
  • Автоматически форматировать завершенный блок на}
  • Автоматически форматировать при вставке
0 голосов
/ 04 сентября 2017

Поведение Visual Studio здесь немного противоречиво.Я все здесь протестировал с настройками «Автоматически отформатировать», которые все проверены в настройках, как показано на следующем рисунке:

enter image description here

Я использовал следующий код:

if(true)
{
   int m = 3;
}

Если я скопирую / вставлю приведенный выше код в Visual Studio, Visual Studio автоматически применит форматирование - в результате будет пробел после if.

Если я введу код ввручную Visual Studio не будет автоматически добавлять пробел после if, даже после того, как я завершу строку if закрывающей скобкой, и даже после того, как завершу блок if закрывающей скобкой.

Как уже упоминалось в другомответ, если я нажимаю CTRL + K + D для форматирования всего документа, Visual Studio вставляет пробел после if.

Это немного расстраивает, потому что если я пишу код вручную, после if (outпо привычке) но если я вставлю код или отформатирую свой документ, я получу пробелы.

0 голосов
/ 17 ноября 2010

Еще один хороший трюк - оставить кодирование как есть и нажать CTRL + K + D, он автоматически отформатирует ваш код и исправит пробелы

...