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
相关产品推荐
相关产品推荐

