ReSharper 可以使用关键字进行声明但使用类型名称进行成员访问吗?

Can ReSharper use keyword for declarations but type name for member access?

ReSharper 具有在使用关键字别名类型名称时查找不一致的功能。例如,它会看到这两个声明并敦促您将一个更改为另一个(取决于您的偏好设置):

string myString1 = "String 1";
String myString2 = "String 2";

这很方便,因为我总是喜欢在声明变量时为 CLR 类型使用关键字别名,因此在上面的示例中,我想更正第二行。但是,这也有问题,因为在使用 CLR 类型的静态成员时,我总是更喜欢使用类型名称而不是关键字。考虑以下示例:

string myString1 = "String 1";
string myString2 = String.Format("{0} is String 1.", myString1);

如果选项设置为更喜欢使用关键字,那么 ReSharper 不会抱怨声明,但它确实抱怨使用类型名称访问静态 String.Format() 方法。

所以,我的问题是...有没有什么方法可以配置 ReSharper,使其更喜欢声明关键字而不是静态成员访问的类型名称?换句话说,我可以将它配置为不抱怨上面第二个示例中的任何代码吗?

好吧,你不能在 ReSharper 上这样做,正如你的 post 评论和 here. Anyways, the best thing you can do is ignoring it, i made a gif for it. 中已经建议的那样(请忽略 gif 中的其他代码行)。我正在使用 FSF 许可的 ReSharper 9.1.3。希望对您有所帮助。

从 R# 2018.2 开始,这现在是可能的: