如何让ReSharper保留指定代码?VS2019 C#静态引用清理异常问题
临时解决:让ReSharper保留
using static My.Globals;不被修改 我之前也碰到过这个糟心的bug,分享几个亲测有效的临时办法:
1. 给单行加ReSharper禁用注释
最精准的方式就是给这行代码加个专属注释,告诉ReSharper"别动这一行":
// ReSharper disable once RedundantUsingStaticDirective using static My.Globals;
如果同时是Visual Studio内置的Roslyn分析器(规则ID IDE0009)在搞鬼,也可以把它一起禁用:
// IDE0009: 不要移除using里的static // ReSharper disable once RedundantUsingStaticDirective using static My.Globals;
这样不管怎么执行"清理代码",这行都会原封不动。
2. 全局临时关闭对应的规则
要是你不想逐行加注释,也可以暂时关掉导致这个问题的规则:
- ReSharper端:打开
ReSharper > Options,搜索"Redundant 'static' in using directive",把这个规则的启用状态取消; - VS内置分析器端:去
Tools > Options > Text Editor > C# > Code Style > General里找到"Remove unnecessary 'static' from using directive"(对应IDE0009),把它改成"None"或者"Do not show"。
不过这个方法是全局生效的,会影响整个项目的代码检查,所以只适合暂时用用。
3. 用格式禁用注释包裹(不推荐除非必要)
还有个办法是用注释把这行代码的格式化功能关掉,但这个会禁用整个区域的格式处理,容易影响其他代码,所以尽量不用:
// ReSharper disable Formatting using static My.Globals; // ReSharper restore Formatting
毕竟官方已经确认这是个长期存在的bug,这些都是临时过渡的办法,等JetBrains修复后记得把注释或规则改回来就行。
内容的提问来源于stack exchange,提问作者Erik
相关产品推荐
相关产品推荐

