VS 2022 - преобразование в пространство имен файловой области во всех файлах

Я конвертирую свой проект в .NET 6 и хочу везде использовать пространства имен с привязкой к файлам. Но инструмент конвертации существует только в редакторе.

Кто-нибудь узнал, есть ли способ запустить эту функцию редактора сразу для всех файлов в решении? (Похоже, у Райдера есть эта функция)

4 ответа

Решение

Добавление правила для использования пространств имен с файловой областью сработало для меня:

  • Создайте .editorconfig файл в решении
  • Добавить csharp_style_namespace_declarations = file_scoped:warning(документы , код - IDE0161)

После этого в диалоговом окне предварительного просмотра изменений была возможность применить исправление ко всему проекту / решению:

У меня всегда возникают проблемы с поиском файлов, которые должны быть обновлены (в данном случае .editorconfig). Я даже не знаю, должен ли я искать его в проекте, установке Visual Studio или любой другой папке на ПК. Так что мне нравится ответ по ссылке ниже, потому что там написано, где в интерфейсе изменить настройку.

На мой взгляд, лучший ответ здесь:https://www.ilkayilknur.com/how-to-convert-block-scoped-namespacees-to-file-scoped-namespaces

В нем говорится, что вы можете изменить предпочтение стиля кода (и включить отображение параметра для применения этого предпочтения в документе/проекте/решении), перейдя в Инструменты => Параметры => Текстовый редактор => C#=> Стиль кода и затем изменить соответствующий параметр.

Синтаксис EditorConfig

      csharp_style_namespace_declarations = file_scoped
dotnet_diagnostic.IDE0161.severity = error

Примечание

Синтаксис option = rule:severityрано или поздно выйдет из строя .

Настоятельно рекомендую прочитать эту статью перед началом сборки .editorconfigдля вашего проекта.

После того, как вы настроили.editorconfig, вы можете настроить параметр «Очистка кода», чтобы автоматически преобразовывать все файлы для использования пространства имен в файловой области. Перейдите в Инструменты -> Параметры -> Текстовый редактор -> Очистка кода -> Настроить очистку кода. Затем добавьте «Применить настройки пространства имен». Затем перейдите в «Анализ» -> «Очистка кода» (или просто найдите «Очистка кода») и запустите «Очистку кода», чтобы автоматически изменить пространства имен на файловые.

Другие вопросы по тегам