如何在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)。
- 手动编辑 :).
我想修改 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)。
- 手动编辑 :).