Элемент управления EditorConfig Объявление пространства имен в области файлов

Я использую новую функцию C# 10 File-scoped namespace declaration.

У меня такой старый код

      namespace SampleCode
{
    public class MyClass
    {
    }
}

Я перемещаю этот код в

      namespace SampleCode;

public class MyClass
{
}

Но у меня есть несколько предупреждений: IDE0160: Convert to block scoped namespace

Как убедиться, что у людей будут предупреждения только со старым синтаксисом?

2 ответа

Для управления стилем кода в editorconfig используйте эту строку:

Чтобы обеспечить соблюдение этого стиля

      namespace SampleCode
{
    public class MyClass
    {
    }
}

Добавьте эту строку в

      # IDE0160: Convert to block scoped namespace
csharp_style_namespace_declarations = block_scoped

Чтобы обеспечить соблюдение этого стиля

      namespace SampleCode;

public class MyClass
{
}

Добавьте эту строку в .editorconfig

      # IDE0160: Convert to block scoped namespace
csharp_style_namespace_declarations = file_scoped

Существует несколько различных настроек, которыми вы должны управлять в зависимости от желаемого состояния, используемых IDE и рабочего процесса.

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

Вот сводка для файлового и блочного использования соответственно.

Настройка EditorConfig/CSproj для использования в файловой области


Visual Studio (ошибка при нарушении)

EditorConfig


Примечание

Синтаксис рано или поздно устареет


JetBrain Rider (ошибка при нарушении)

EditorConfig

      csharp_style_namespace_declarations = file_scoped:error

Примечание

Rider не поддерживает синтаксис dotnet_diagnostic.IDE*.


Сборка CLI, например конвейер CI/CD

EditorConfig

      csharp_style_namespace_declarations = file_scoped
dotnet_diagnostic.IDE0161.severity = error

CSProj



Рекомендуемая настройка

EditorConfig

      csharp_style_namespace_declarations = file_scoped:error
dotnet_diagnostic.IDE0161.severity = error

CSProj


Примечание

Является ли текущий синтаксис .NET EditorConfig беспорядком? Определенно.

Настройка EditorConfig/CSproj для использования с блочной областью действия


Visual Studio (ошибка при нарушении)

EditorConfig


Примечание

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


JetBrain Rider (ошибка при нарушении)

EditorConfig

      csharp_style_namespace_declarations = block_scoped:error

Примечание

Rider не поддерживает синтаксис dotnet_diagnostic.IDE*.


Сборка CLI, например конвейер CI/CD

EditorConfig

      csharp_style_namespace_declarations = block_scoped
dotnet_diagnostic.IDE0160.severity = error

CSProj



Рекомендуемая настройка

EditorConfig

      csharp_style_namespace_declarations = block_scoped:error
dotnet_diagnostic.IDE0160.severity = error

CSProj

      <PropertyGroup>
  <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>
Другие вопросы по тегам