我给团队引入了自动格式化代码机器人,这个机器人有点傻,会将生成的代码也进行格式化,每次都会我的代码生成工具打架。为了让这两个机器人和好,我探索了让 dotnet format 忽略对生成代码进行自动格式化的方法

实现的方法很简单,只需要指定某个生成代码文件,或者存放代码文件的文件夹作为 generated_code 生成代码即可

.editorconfig 文件里,可以指定当前文件夹内的包括子文件夹内的文件的格式化规则,通过在 .editorconfig 文件里,设置某些文件或文件夹是被 generated_code 即可让 dotnet format 在进行格式化的时候,进行忽略

例如指定某个 MainPage.g.i.cs 文件作为生成文件,代码如下

# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true
# C# files
[MainPage.g.i.cs]
## All files should be considered generated code.
generated_code = true

或者是对文件夹设置此文件夹存放的是生成代码,在文件夹里面存放 .editorconfig 文件,内容如下

# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true
# C# files
[*.cs]
## All files should be considered generated code.
generated_code = true

更多请看 Analyzer configuration - Visual Studio (Windows) Microsoft Docs


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/dotnet-format-%E5%BF%BD%E7%95%A5%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利