Автоматический формат Visual Studio/С#. Могу ли я управлять новой строкой после атрибутов
Visual studio продолжает делать это:
[DataContract]
public class MyContract
{
[DataMember]
public bool MyBool { get; set; }
[DataMember]
public string MyString { get; set; }
}
Мне бы хотелось:
[DataContract]
public class MyContract
{
[DataMember] public bool MyBool { get; set; }
[DataMember] public string MyString { get; set; }
}
Не имеет большого значения, если "открытый класс MyContract" находится в той же строке, что и [DataContract].
В Visual Studio есть много подробных параметров автоформатирования, но я не могу найти никаких ссылок на новые строки после атрибутов. Я что-то упустил? Или это просто не доступно.
EDIT: по крайней мере, мне нужна опция форматирования "не меняйте то, что я ввела", в отличие от опции "всегда вставлять" или "всегда удалять" новую строку. Это очень раздражает то, что он продолжает форматировать мой код после ввода.
Ответы
Ответ 1
То, что я обычно делаю, это нажать Ctrl-Z в тот момент, когда автоформат прыгает туда, где я его не ценю.
I.e., на закрывающейся награде, которая форматирует весь класс или метод. Напечатайте заключительную награду, посмотрите, как она меняет способ вам не нравится, а затем нажмите Ctrl-Z. (Я знаю, что вы искали фактический вариант, я не знаю, существует ли какой-либо).
Ответ 2
Не уверен, что он работает для атрибутов, но посмотрите под Tools
→ Options
→ Text Editor
→ C#
→ Formatting
→ Wrapping
→ Leave block on single line
или Leave statements and member declarations on the same line
.
Ответ 3
ReSharper может это сделать. Он имеет опции для:
- Атрибут типа места в той же строке
- Атрибут метода размещения в той же строке
- Поместите атрибут property/indexer/event на той же строке (это тот, который вы хотите)
- Укажите атрибут поля поля в той же строке
Это стоит несколько долларов, но если вы настолько навязчивы, насколько мне стоит каждый пенни.;)
Я также перенаправляю Ctrl+K, Ctrl+D
в код безшовного форматирования ReSharper, чтобы испытать блаженство форматирования.
Ответ 4
Для меня лучше всего было отключить автоматический формат; и вставить. В любом случае я вряд ли когда-либо хочу автоформат. Это позволяет вам набирать атрибуты и перемещать их без лишних помех.
Функции > Текстовый редактоp > С# > Форматирование > Общие
![Снимок экрана]()
Ответ 5
Да, Ctrl+E, D
- твой друг. Вы можете оптимизировать форматирование в Text editor options