Visual Studio 停止在特定区域使用重构

问题描述 投票:0回答:1

通常,我可以通过在警告周围包含两个

pragma warning disable
语句来禁用烦人的警告。例如:

#pragma warning disable IDE0060
public static int MultiplyByZero(int Number)
    => 0;
#pragma warning restore IDE0060

但是,请考虑以下情况:

我有一个文件,它在同一命名空间中使用许多静态类。它们的名字非常符合预期:

using static MyLib.Class0;
using static MyLib.Class1;
using static MyLib.Class2;
...
using static MyLib.Class9;

但是,我的类并不总是使用所有这些静态类。一次编辑后,可能只使用

Class0
Class3
Class4
。再后来,它可能只会使用
Class1, Class3, and Class6
。但我知道它总是会使用其中一些类。

当我尝试保存文件时,Visual Studio 自然想要重构所有未使用的

using
。毕竟,我告诉它这样做,我仍然希望其他未使用的
using
发生这种情况,但不是这些。

Visual Studio没有提供删除不必要的

using
的ID,但我在Google上查了一下,发现它是
IDE0005
。所以,就像任何优秀的程序员一样,我把它放在我的
using
周围:

#pragma warning disable IDE0005
using static MyLib.Class0;
using static MyLib.Class1;
using static MyLib.Class2;
...
using static MyLib.Class9;
#pragma warning restore IDE0005

Visual Studio 同意我的观点,即

pragma
是必要的,因为它不会像通常处理不必要的
pragma
那样减轻它们的重量。我认为这意味着它会做我想做的事。然而,当我点击“保存”时,我的
using
还是消失了。

我查看了 Intellisense 对除

pragma
之外的其他类型
warning
的建议。只有
checksum
,其文档看起来相当可怕,与我的问题无关。

如何让 Visual Studio 保留特定的

using
语句?

需要明确的是,我并不是在寻找文件范围或项目范围的解决方案。我在其他地方也想要这个功能。我只需要一种方法来标记特定的代码位,这样就不会删除任何

using

编辑:

正如评论中的多个用户所指出的,这不是 Visual Studio 的默认行为。我在配置代码清理中选择了“删除不必要的导入或使用”。我没想到并不是每个人都这样做。所以我想问题实际上是“如何禁用特定几行代码的代码清理”。

c# visual-studio visual-studio-2022 pragma automated-refactoring
1个回答
0
投票

正如评论中的用户所说,Visual Studio 目前不存在这样的功能。希望将来能创建这样的功能,但目前还不存在。

在那之前,我已经通过注释掉不必要的用法来解决这个问题。然后,当需要它们时,我只需取消注释即可使用它们。

无论如何,感谢那些尝试过的人。快乐编码。

© www.soinside.com 2019 - 2024. All rights reserved.