Setting up C# editorconfig Code Cleanup on build/save and commit
我们的团队希望在我们的 C# 项目中强制执行样式规则。我在某处读到微软说”.editorconfig 是未来”,所以我们想使用它。注意:我们不想使用 ReSharper。
C#现在有很多很棒的规则可以在editorconfig中定义,见微软自己的editorconfig指南
我们希望使用它,并强制在 Visual Studio 中编码时遵循编辑器配置中设置的规则,并强制提交给 git 的代码遵循规则。
当添加 .editorconfig 规则时,我们的文件会得到很好的 linting,如下所示:
在 Visual Studio 2019 中运行完全启用的”代码清理”,它会根据需要完全格式化我们的代码:
问题 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 进行配置,然后决定您想要什么配置文件设置,仅此而已,
希望对你有帮助!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269595.html