*.разделы конфигурации, созданные на основе параметров.параметры, не соответствующие параметрам XML Visual Studio

#.net #xml #visual-studio

Вопрос:

Я работаю с большим решением, состоящим в основном из проектов, ориентированных на .NET Framework 4.x. В ряде проектов в решении используются файлы Settings.settings. При добавлении новых параметров или изменении значений с помощью редактора Visual Studio по умолчанию для файлов .settings изменения отражаются в файле app.config для соответствующего проекта.

Разделы конфигурации, автоматически сгенерированные на этом этапе, форматируются с несколькими атрибутами на строку, вплоть до некоторого ограничения длины строки, после чего атрибуты переносятся в новую строку. Например, мы могли бы увидеть что-то вроде:

 <setting name="SomeBackgroundTaskIntervalSeconds" serializeAs="String">
    <value>60</value>
</setting>
 

Однако в то же время у нас также есть настройки в инструментах Visual Studio -> Параметры ->> Текстовый редактор ->>> XML ->>>> Форматирование. У нас есть опция «Атрибуты», настроенная на «Выравнивание атрибутов в отдельной строке», как мы предпочитаем форматирование XML как команда разработчиков, и мы делимся файлом .vssettings с командой и новыми разработчиками, чтобы убедиться, что мы все на одной странице. Это означает, что если кто-то вносит изменения в файл .config и выполняет «Форматирование документа», вышеупомянутый раздел конфигурации обновляется до:

 <setting name="SomeBackgroundTaskIntervalSeconds"
         serializeAs="String">
    <value>60</value>
</setting>
 

Эти параметры полностью игнорируются Visual Studio при создании разделов конфигурации из файлов settings.settings. В результате этого мы довольно часто сталкиваемся с различиями Git, в которых есть сотни «изменений» строк, которые являются просто новой строкой, измененной на пробел, или наоборот. Это, конечно, полная боль, особенно при попытке разрешить конфликты слияния в таких файлах.

Кто-нибудь знает, есть ли способ заставить Visual Studio создавать разделы конфигурации, которые учитывают собственные настройки Visual Studio в отношении форматирования XML?

Мы могли бы изменить параметры форматирования XML, упомянутые выше, по всей команде, но, по-видимому, было бы стыдно прибегать к этому, чтобы избежать того, что кажется несоответствием VS.