Resharper具有出色的StringFormatMethodAttribute
注释,可为格式字符串及其参数提供代码分析。它可以添加到任何自定义字符串格式方法,如下所示:
[StringFormatMethod("format")]
void DebugFormat(string format, params object[] args);
这在使用整数占位符时效果很好,例如
x.DebugFormat("Resharper is {0} for {1} placeholders", "great", "numbered");
然而,有些库(如Serilog和ASP.Net Core / Microsoft.Extensions.Logging)提供命名的格式占位符,用于(语义|结构化)日志记录,这似乎是Resharper所做的事情还没(还)提供。例如,像这样的一行代码:
x.DebugFormat("Resharper is {Quality} for {Style} placeholders", "poor?", "named");
Resharper代码分析警告中的结果
格式项索引必须是从0开始的数字,不带前导或尾随空格
搜索Resharper支持,此网站和Google绘制空白。有没有人找到一种方法来获取使用命名占位符的字符串格式注释?
相关的Jetbrains链接