如何在VS22中编辑默认代码生成

How to edit default code generation in VS22

我想修改 Visual Studio 22 中某些代码的生成方式。

例如,在方法中,我可以通过以下方式使用 Add null check(MS 文档 link)为参数生成空检查。

public void MyMethod(object parameter)
{
    if (object is null)
    {
        throw new ArgumentNullException(nameof(parameter));
    }
    // rest of the method
    // ...
}

我想要生成的是这样的:

public void MyMethod(object parameter)
{
    if (object is null) throw new ArgumentNullException(nameof(parameter));
    
    // rest of the method
    // ...
}

我正在查看代码片段设置和重构设置,但在任何地方都找不到 Add null check 选项。更别说改了。

我想到的最佳选择是创建一个代码片段(MS 文档 link),但这并不能完全满足我的目的。

有没有我可以修改的选项来说明代码是如何生成的?

改写 canton7 从评论中得到的答案:

添加空检查 不是由任何代码片段生成的。相反,它基于标准分析器基础结构 (defined here and seen here)。这意味着它只是一个语义生成的 if 语句,其中包含 throw 。然后根据您的 .editorconfig(如果未指定,则为默认值)相应地格式化代码。

一个剩下以下选项:

  • 编辑.editorconfig文件,使代码格式满意。请注意,此方法适用于全球。
  • 等待 C# 11 !! 语法。
  • 编写您自己的分析器和代码修复程序 (tutorial)。
  • 手动编辑 :).