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

EditorConfig如何为PascalCase类命名规则添加DTO后缀例外

可以实现,具体配置方式如下

完全可以通过EditorConfig的命名规则优先级机制实现这个需求:单独给以DTO结尾的类配置专属命名规则,把它作为PascalCase校验的例外,其余类仍走严格的PascalCase校验。

配置逻辑

  • 首先定义PascalCase的基础命名样式,供两类规则共用
  • 单独定义DTO类的符号匹配规则,精准命中所有名称以DTO结尾的类,给这类规则设置无警告的优先级
  • 最后定义普通类的匹配规则,强制要求PascalCase,违反时抛出警告

可直接复用的.editorconfig配置片段

# 先定义PascalCase命名样式
dotnet_naming_style.pascal_case.capitalization = pascal_case

# ------------ DTO类专属规则 ------------
# 匹配所有以DTO结尾的类
dotnet_naming_symbols.dto_classes.applicable_kinds = class
dotnet_naming_symbols.dto_classes.applicable_accessibilities = *
dotnet_naming_symbols.dto_classes.required_suffix = DTO

# DTO类使用PascalCase规则,不触发警告
dotnet_naming_rule.dto_classes_rule.severity = none
dotnet_naming_rule.dto_classes_rule.symbols = dto_classes
dotnet_naming_rule.dto_classes_rule.style = pascal_case

# ------------ 普通类通用规则 ------------
# 匹配所有普通类
dotnet_naming_symbols.regular_classes.applicable_kinds = class
dotnet_naming_symbols.regular_classes.applicable_accessibilities = *

# 普通类强制要求PascalCase,违反时抛出警告
dotnet_naming_rule.regular_classes_rule.severity = warning
dotnet_naming_rule.regular_classes_rule.symbols = regular_classes
dotnet_naming_rule.regular_classes_rule.style = pascal_case

生效效果

配置完成后:

  • 类似MyClassDTO、OrderCreateDTO这类以DTO结尾的类,只要整体符合PascalCase格式,就不会触发任何命名警告
  • 其余非DTO结尾的类如果不符合PascalCase规范(比如小驼峰、下划线命名等),会正常抛出命名警告,符合严格校验要求

注意:EditorConfig的命名规则按定义顺序优先匹配,一定要把DTO类的规则放在普通类规则前面,避免DTO类被普通类规则提前命中触发误报。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:45:37