Интервалы с ReSharper и инициализатором объекта
Когда я пытаюсь инициализировать объект с помощью Object Initializer, ReSharper всегда вставляет много пробелов.
public class Bar
{
public void Adam()
{
var foo = new Foo
{
First = "yes",
Second =
};
}
}
Когда я заменяю ;
символ после инициализатора, мой код будет отформатирован, как показано ниже:
public class Bar
{
public void Adam()
{
var foo = new Foo
{
First = "yes",
Second = "no"
};
}
}
Выполните следующие действия, чтобы воспроизвести проблему (спасибо, Пирс Майерс):
- Например, поместите курсор в позицию с отступом после открывающей фигурной скобки (на пустой строке вы можете поместить курсор либо в самом начале строки, либо на уровне отступа, который Resharper/VS считает необходимым использовать)
- Нажмите клавиши CTRL+ Пробел, CTRL+ALT+ Пробел или SHIFT+ALT+ Пробел. Он будет вставлять пробелы перед вашим курсором, чтобы дополнить его, но он также будет добавлять то же количество пробелов после вашего курсора, что неверно.
Кто-нибудь знает, что вызывает изначально сгенерированный пробел? Возможно, какие настройки я мог настроить неправильно?
1 ответ
Решение
Эта проблема была подтверждена на этих установках:
- Resharper 5.1 VS2008 (Пирс Майерс)
- Resharper 6.1 VS2008 (мной)
Однако проблема, кажется, исчезла на этих установках:
- Resharper 6.1 VS2010 (Пирс Майерс)
- Resharper 7.0EAP VS012 (мной)
Поэтому, похоже, что это ошибка ReSharper в сочетании с IDE VS2008.