VS 2022命名样式中如何单独配置泛型参数的命名规范?
VS 2022 泛型参数独立命名样式配置方案
泛型参数被普通参数命名规则误判的问题,核心原因是新建命名规则时没有限定符号适用范围,VS本身原生支持给泛型参数单独配置命名规则,不需要安装第三方插件。
具体配置步骤
- 打开配置入口:在VS顶部菜单栏依次进入
工具 > 选项 > 文本编辑器 > C# > 代码样式 > 命名 - 第一步新建泛型参数专属命名样式:
- 点击配置页里的「管理命名样式」按钮,在弹出窗口新增一条命名样式,命名可自定义(比如「泛型参数大写Pascal规则」),大小写规则选择PascalCase(首字母大写),保存后回到命名规则主配置页
- 点击规则列表上方的
+号新增规则,在规则的「符号类型」筛选栏里,只勾选类型参数——这个选项就是对应泛型参数的符号分类,之前的规则就是因为没排除这个分类,才会把泛型T判定为普通参数 - 把这条新规则关联到刚才新建的泛型Pascal命名样式,同时通过规则列表旁的上下箭头,把这条规则的优先级调到你之前配置的普通参数规则之上
- 第二步修正原有普通参数规则的适用范围:找到你之前设置的「参数首字符小写camelCase」规则,打开它的符号类型筛选列表,把类型参数的勾选取消,确保这条规则只覆盖普通方法参数、Lambda参数、本地函数参数这类非泛型参数符号。
配置完成后即时生效,不需要重启VS。此时public List<T> GetAll<T>()里的泛型参数T会被要求保持大写开头,不会触发小写命名报错;普通方法入参比如public void AddUser(string userName)里的userName还是会按照原有规则要求首字母小写,两类规则不会冲突。
如果是用.editorconfig做团队统一规范配置,直接在配置文件里给类型参数单独指定规则即可,对应配置的符号识别字段为dotnet_naming_symbols.type_parameters.applicable_kinds = type_parameter,单独给它绑定PascalCase的命名要求就行。
内容的提问来源于stack exchange,提问作者Wes H
相关产品推荐
相关产品推荐

