Есть ли способ отключить, что #if, #endif и другие директивы не обрабатываются после редактирования → Дополнительно → Формат документа в Visual Studio?
StyleCop анализирует исходный код С# для обеспечения набора правил стиля и согласованности. Его можно запустить изнутри Visual Studio или интегрировать в проект MSBuild. StyleCop также интегрирован во многие сторонние инструменты разработки.
Я боюсь, что в Visual Studio нет прямой настройки. Если вы его найдете, так или иначе, дайте мне знать:)
В качестве альтернативы вы можете попытаться использовать внешний инструмент для форматирования вашего кода (например, AStyle). Вы можете создать макрос в VS, который закрывает текущий файл, запускает внешний инструмент в файле и повторно открывает его (и, возможно, переставляет курсор в предыдущую позицию), поэтому вы сможете отформатировать свой код из Visual Студия.
Я не уверен, что задача стоит усилий, так или иначе...
В противном случае вы можете написать свой собственный макрос, чтобы отступать директивы препроцессора в текущем файле после, он был отформатирован VS, даже не используя внешние инструменты (что, вероятно, было бы довольно болезненно для настройки в чтобы получить точно такое же форматирование, как в VS).
Ответ 3
Вы могли бы спрятать его в статическом вспомогательном классе.