You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio Code Code Cleanup为何不处理带<auto-generated>标记的自动生成类

问题解答

关于自动生成代码跳过Code Cleanup的默认规则

这是Visual Studio Code Cleanup功能的隐式默认行为,所有带有<auto-generated>标签注释的文件,默认都会被所有代码分析、清理、格式校验逻辑跳过,设计初衷是避免手动修改自动生成代码后,下次重新生成文件时自定义修改被覆盖,同时也避免生成代码不符合自定义编码规范触发大量无意义告警。

该行为是可配置的,你可以通过两种方式修改规则:

  • 打开Visual Studio 「工具」->「选项」->「文本编辑器」->「C#」->「代码样式」->「常规」,取消勾选「跳过生成的代码(仅限诊断)」即可让清理逻辑对这类文件生效
  • 如果你用.editorconfig管理项目规则,可以给对应文件的配置项设置generated_code = false来强制开启代码清理

其他让指定类/文件被Code Cleanup忽略的方法

  • 给目标类添加[GeneratedCode]特性:引用System.CodeDom.Compiler命名空间后,在类声明上方添加[GeneratedCode("CustomTool", "1.0")]即可,特性的两个参数可自定义,只要标记了该特性的类都会被清理逻辑跳过
  • 自定义注释标记:不需要完整的注释块,在文件头部加单行注释// <auto-generated/>也会被识别为生成代码,触发跳过逻辑
  • 通过.editorconfig批量配置:给指定匹配规则的文件设置generated_code = true,示例如下:
# 匹配所有.g.cs后缀的文件,标记为生成代码
[*.g.cs]
generated_code = true

# 匹配AutoGenerated文件夹下的所有cs文件
[AutoGenerated/*.cs]
generated_code = true
  • 针对局部代码段跳过:如果不需要忽略整个类/文件,只是要跳过某一段代码,可以用#pragma warning disable和#pragma warning restore包裹对应代码段,指定要跳过的规则ID即可。

内容的提问来源于stack exchange,提问作者Thorberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:15:04