如何让Visual Studio保留指定using语句并局部禁用代码清理?
解决VS代码清理保留特定静态using的局部方案
首先明确:IDE0005是代码清理操作,不是编译警告,所以你之前用#pragma warning disable的方法对它无效——这就是包裹后using仍被移除的原因。
下面是两种符合要求的局部解决方案:
方案一:用自动生成代码块包裹目标using
VS的代码清理会自动跳过标记为<auto-generated>的代码块,把需要保留的静态using放在这个块内,其他using放在块外,就能实现块外using正常清理、块内using完整保留的效果。
示例代码:
// <auto-generated> using static MyLib.Class0; using static MyLib.Class1; using static MyLib.Class2; using static MyLib.Class3; using static MyLib.Class4; using static MyLib.Class5; using static MyLib.Class6; using static MyLib.Class7; using static MyLib.Class8; using static MyLib.Class9; // </auto-generated> // 这些普通using会被代码清理正常处理 using System; using System.Linq;
方案二:给单个using添加保留注释
如果不想把所有目标using归为一块,也可以给每个需要保留的using行末尾添加// Required注释——VS代码清理会识别这个标记,跳过对该行using的移除操作。
示例代码:
using static MyLib.Class0; // Required using static MyLib.Class1; // Required using static MyLib.Class2; // Required ... using static MyLib.Class9; // Required // 这些普通using会被代码清理正常处理 using System; using System.Collections.Generic;
这两种方法都是文件级的局部方案,只会影响当前文件的指定using,不会改变整个项目或其他文件的代码清理规则。
内容的提问来源于stack exchange,提问作者Brendan Lynn
相关产品推荐
相关产品推荐

