Настройка очистки кода C # editorconfig при сборке / сохранении и фиксации

#c# #.net-core #lint #code-cleanup #editorconfig

#c# #.net-core #ворсинка #очистка кода #editorconfig

Вопрос:

Наша команда хочет обеспечить соблюдение правил оформления в нашем проекте C #. Я где-то читал, что Microsoft сказала, что «.editorconfig — это будущее», поэтому мы хотим использовать это. ПРИМЕЧАНИЕ: Мы не хотим использовать ReSharper.

В C # есть много отличных правил, которые теперь можно определить в editorconfig, смотрите Собственное руководство Microsoft по editorconfig

Мы хотим использовать это и обеспечить соблюдение правил, установленных в конфигурации редактора, как при написании кода в Visual Studio, так и при выполнении кода, переданного в git, в соответствии с правилами.

При добавлении правил .editorconfig мы получаем отличную разметку в наших файлах, например:

используйте предупреждение var

Запуск полностью включенной «очистки кода» в Visual Studio 2019 полностью форматирует наш код по желанию:

запустите очистку кода

Вопрос 1. Как мы можем заставить «Выполнить очистку кода» автоматически выполняться при сохранении / сборке? Даже если мы задаем определенные правила как серьезность «: ошибка», компилятор все равно не жалуется на проблемы в файлах C # при сборке.

ПРИМЕЧАНИЕ: Я пробовал плагин для Visual Studio под названием Форматировать документ при сохранении, но он не соответствует всем правилам, установленным в editorconfig (только некоторым, таким как исправление табуляции / пробелов и конца новой строки файла)

Мы также хотели бы убедиться, что все коммиты в нашем репозитории git будут отформатированы.

Существует инструмент под названием dotnet-format, который должен форматировать код в соответствии с правилами editorconfig.

Мы хотели бы добавить перехват предварительной фиксации, который запускает следующие 2 команды:

 dotnet tool install -g dotnet-format
dotnet-format
  

Это могло бы работать нормально, но проблема в том, что dotnet-format также не устраняет проблемы в файлах с кодом, указывающим серьезность «: ошибка».

dotnet-format ведет себя так же, как «Форматировать документ при сохранении», исправляя только несколько вещей, таких как табуляции / пробелы и конец новой строки файла.

РЕДАКТИРОВАТЬ: dotnet-format, похоже, на данный момент поддерживает только несколько правил в соответствии с их Wiki

Вопрос 2. Как мы можем из командной строки запустить команду, которая ведет себя так же, как команда «Очистка кода» в Visual Studio 2019?

Комментарии:

1. Добро пожаловать в SO! Пожалуйста, даже если есть какая-либо связь между вопросами, постарайтесь не задавать более одного вопроса сразу. В данном случае прямой связи нет, поэтому, пожалуйста, разделите на 2 разных вопроса.

2. если вам интересно, как запустить очистку при сборках: medium.com/c-sharp-progarmming /…

Ответ №1:

Я могу просто ответить на ваш первый вопрос:

Я искал это и нашел расширение под названием Очистка кода при сохранении, вам просто нужно установить его и настроить в Tool-> Options-> Code Clean up при сохранении, решите, какой из ваших профилей вы хотите установить, и это все, я надеюсь, это поможет вам!

Комментарии:

1. Добро пожаловать в SO! Это проблема исходного вопроса (должен быть только один), уже отмеченная.