21

我正在将我的项目转换为 .NET 6,并且我想在任何地方使用文件作用域命名空间。但是转换工具只存在于编辑器中。

文件范围的命名空间转换

有没有人发现是否有一种方法可以一次在解决方案中的所有文件中运行此编辑器功能?(貌似 Rider 有这个功能)

4

3 回答 3

37

添加规则以使用文件范围内的命名空间.editorconfig对我有用:

  • 在解决方案目录中创建一个.editorconfig文件
  • 在下面添加以下行/内容(文档代码 - IDE0161

示例.editorconfig文件内容:

[*.cs]
csharp_style_namespace_declarations = file_scoped:warning

之后,预览更改对话框可以选择将修复应用于整个项目/解决方案:

在此处输入图像描述

于 2021-11-08T20:50:03.303 回答
5

EditorConfig 语法

csharp_style_namespace_declarations = file_scoped
dotnet_diagnostic.IDE0161.severity = error

笔记

语法迟早option = rule:severity会被弃用。

我强烈建议您在开始为您的项目构建之前阅读这篇文章。.editorconfig

于 2021-11-09T17:54:08.417 回答
5

我总是在查找应该更新的文件时遇到问题(在这种情况下为 .editorconfig)。我什至不知道我是否应该在项目、Visual Studio 安装或 PC 上的任何文件夹中搜索它。所以我喜欢下面链接中的答案,因为它说明了在界面中更改设置的位置。

我认为最好的答案在这里: https ://www.ilkayilknur.com/how-to-convert-block-scoped-namespacees-to-file-scoped-namespaces

它说您可以通过转到工具 => 选项 => 文本编辑器 => C#=> 代码样式和然后更改相关的偏好。 在此处输入图像描述

于 2021-12-15T09:36:09.167 回答