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。

  1. 下载骑士
  2. 创建完全清理配置文件的副本
  3. 禁用选项:'Apply Arguments Style (named vs positional)'
  4. 导出配置文件
  5. 在运行清理
  6. 时使用配置文件

(感谢@whybird 提供相关评论)