Resharper CLI Cleanup 正在删除 C# 显式参数名称
Resharper CLI Cleanup is removing C# explicit parameter names
我的编辑器配置中的 [*.cs] 下有这一行:
resharper_redundant_explicit_positional_property_declaration_highlighting = none
但是当我运行dotnet jb cleanupcode MySolution.sln
时,命名参数仍然被移除。这些很重要,例如在一个长参数列表中,我们想在代码审查中验证我们没有通过,例如Phone 的名称,反之亦然。
关于为什么这仍然会发生的任何线索? Resharper CLI 尊重我的 .editorconfig 文件的其余部分,例如当我更改它们时的行长和缩进大小。
我可以通过打乱参数的顺序来解决这个问题,这样 CLI 就不会认为它们是多余的,但这看起来很老套。
或者,也许有一种方法可以在声明记录时强制命名参数(类似于构造 JS 接口),但我没有找到。
运行清理前的示例代码:
var account = new Account(
Name: app.Applicant.CompanyName,
BillingStreet: app.Applicant.MailingAddress1,
Address_Unit: app.Applicant.MailingAddress2);
之后:
var account = new Account(
app.Applicant.CompanyName,
app.Applicant.MailingAddress1,
app.Applicant.MailingAddress2);
我最终需要为 Resharper 创建自定义配置文件 clean-up。
- 下载骑士
- 创建完全清理配置文件的副本
- 禁用选项:'Apply Arguments Style (named vs positional)'
- 导出配置文件
- 在运行清理
时使用配置文件
(感谢@whybird 提供相关评论)
我的编辑器配置中的 [*.cs] 下有这一行:
resharper_redundant_explicit_positional_property_declaration_highlighting = none
但是当我运行dotnet jb cleanupcode MySolution.sln
时,命名参数仍然被移除。这些很重要,例如在一个长参数列表中,我们想在代码审查中验证我们没有通过,例如Phone 的名称,反之亦然。
关于为什么这仍然会发生的任何线索? Resharper CLI 尊重我的 .editorconfig 文件的其余部分,例如当我更改它们时的行长和缩进大小。
我可以通过打乱参数的顺序来解决这个问题,这样 CLI 就不会认为它们是多余的,但这看起来很老套。
或者,也许有一种方法可以在声明记录时强制命名参数(类似于构造 JS 接口),但我没有找到。
运行清理前的示例代码:
var account = new Account(
Name: app.Applicant.CompanyName,
BillingStreet: app.Applicant.MailingAddress1,
Address_Unit: app.Applicant.MailingAddress2);
之后:
var account = new Account(
app.Applicant.CompanyName,
app.Applicant.MailingAddress1,
app.Applicant.MailingAddress2);
我最终需要为 Resharper 创建自定义配置文件 clean-up。
- 下载骑士
- 创建完全清理配置文件的副本
- 禁用选项:'Apply Arguments Style (named vs positional)'
- 导出配置文件
- 在运行清理 时使用配置文件
(感谢@whybird 提供相关评论)