在EditorConfig中关闭C#变量丢弃

4
在VSCode中格式化和自动修复C#文件的“linting”错误时,似乎会丢弃我的未使用变量。基本上它会在每个变量前面加上_ =
这是因为是默认设置。
详见https://learn.microsoft.com/da-dk/dotnet/fundamentals/code-analysis/style-rules/ide0059#csharp_style_unused_value_assignment_preference
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

这很不错。但是我如何关闭它?因此,当在VSCode中对我的C#文件应用格式时,它不会添加_ =

我的VSCode设置:

{
  "settings": {
    "[csharp]": {
      "editor.defaultFormatter": "csharpier.csharpier-vscode",
      "editor.codeActionsOnSave": {
        "source.fixAll.csharp": true
      }
    },
    "omnisharp.enableEditorConfigSupport": true,
    "omnisharp.enableRoslynAnalyzers": true,
  }
}

您可以尝试在代码清理配置中排除这些修复程序:'应用未使用的值首选项','修复编辑器配置中设置的分析器警告和错误'以及'修复编辑器配置中设置的所有警告和错误'。 - Helmi Khaled
1个回答

10

简短回答:

  • csharp_style_unused_value_assignment_preference = discard_variable:none

或者如果你想使用本地变量:

  • csharp_style_unused_value_assignment_preference = unused_local_variable:suggestion

详细回答:

找到这个答案最简单的方法可能是:

  1. 在你的IDE中打开错误列表面板。
  2. 在Visual Studio(可能也适用于其他IDE)中,可以点击代码以打开文档或在线搜索该代码。
  3. 阅读文件。

现在你有两个选择:

  • 直接设置代码的级别 dotnet_diagnostic.[ErrorCode].severity = none

    当你使用代码时应添加注释。

  • 如果有定义属性,则可以使用该属性。 propertie_name = value:severity

    我建议使用第二种方式更容易阅读,您也可以将代码作为注释添加。

提示: 这里 是严重性级别的选项。


4
如果您正在阅读此内容,您可能也想关闭 csharp_style_unused_value_expression_statement_preference(将其设置为 discard_variable:none)。 - F.D.Castel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接