如何修改Visual Studio 2022的C#参数空值检查模板为精简格式?
自定义Visual Studio 2022的C#空值检查模板
我在使用C#开发时,经常会对参数进行空值检查(这是优秀开发者的必备操作!)。由于不想手动编写,我希望让Visual Studio自动添加这些检查。但VS生成的空值检查代码每个要占4行,示例如下:
if (a is null) { throw new ArgumentNullException(nameof(a)); }
这太繁琐了!理想情况下是给参数名添加!,但该功能已被取消,所以我退而求其次,希望生成如下精简代码:
_ = a ?? throw new ArgumentNullException(nameof(a));
请问能否让Visual Studio 2022实现这种自定义的空值检查模板?
实现方案
找到代码片段文件
- 打开文件资源管理器,导航到VS的代码片段目录:
- 用户自定义片段路径:
%USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets - 全局默认片段路径:
C:\Program Files\Microsoft Visual Studio\2022\<Edition>\VC#\Snippets\1033\Refactoring(将<Edition>替换为你的VS版本,如Community、Professional)
- 用户自定义片段路径:
- 打开文件资源管理器,导航到VS的代码片段目录:
修改空值检查模板
- 在Refactoring目录下找到
GenerateArgumentNullException.snippet文件,复制一份到自定义片段目录(避免修改全局文件导致后续VS更新覆盖) - 打开复制后的文件,找到
<Code>节点,将其中的原有代码替换为:<Code Language="csharp"><![CDATA[_ = $parameter$ ?? throw new ArgumentNullException(nameof($parameter$));]]></Code> - 保存文件后重启Visual Studio,新模板即可生效
- 在Refactoring目录下找到
使用自定义模板
- 右键点击方法参数,选择“快速操作和重构”→“添加空值检查”,VS就会生成你需要的精简版空值检查代码
另外,也可以借助Visual Studio扩展实现,比如CodeMaid(免费)或Resharper(付费),这些扩展支持自定义重构模板,但手动修改代码片段是最轻量化的方案。
内容的提问来源于stack exchange,提问作者Brian Kessler
相关产品推荐
相关产品推荐

