关于 .net core:在构建/保存和提交时设置 C# editorconfig 代码清理

Setting up C# editorconfig Code Cleanup on build/save and commit

我们的团队希望在我们的 C# 项目中强制执行样式规则。我在某处读到微软说".editorconfig 是未来",所以我们想使用它。注意:我们不想使用 ReSharper。

C#现在有很多很棒的规则可以在editorconfig中定义,见微软自己的editorconfig指南

我们希望使用它,并强制在 Visual Studio 中编码时遵循编辑器配置中设置的规则,并强制提交给 git 的代码遵循规则。

当添加 .editorconfig 规则时,我们的文件会得到很好的 linting,如下所示:

use

在 Visual Studio 2019 中运行完全启用的"代码清理",它会根据需要完全格式化我们的代码:

run

问题 1:我们如何使"运行代码清理"在保存/构建时自动运行?即使我们将某些规则设置为严重性 ":error",编译器仍然不会在构建时抱怨 C# 文件中的问题。

注意:我已经尝试了 Visual Studio 的插件,名为 Format document on Save,但它不遵循 editorconfig 中设置的所有规则(只有少数,比如修复制表符/空格和文件换行符结尾)

我们还想确保对我们的 git 存储库的所有提交都进行格式化。

有一个叫做dotnet-format的工具应该根据editorconfig规则来格式化代码。

我们想添加一个运行以下 2 个命令的预提交挂钩:

1
2
dotnet tool install -g dotnet-format
dotnet-format

这可以正常工作,但问题是 dotnet-format 也不能??修复代码给出严重性 ":error" 的文件中的问题。

dotnet-format 的行为方式与 "Format document on Save" 的行为方式相同,只是修复了一些问题,如制表符/空格和文件换行符结尾。

编辑:dotnet-format 目前似乎只支持他们的 Wiki

中的一些规则

问题 2:我们如何从命令行运行与 Visual Studio 2019 中的"代码清理"命令相同的命令?


我只能回答你的第一个问题:

我一直在寻找这个,我发现了一个名为 Code Cleanup on Save 的扩展程序,您只需安装它并在 Tool->Options->Code Clean up on Save 进行配置,然后决定您想要什么配置文件设置,仅此而已,
希望对你有帮助!