繁体   English   中英

禁用Resharper的特定文件的“调整命名空间”

[英]Disable Resharper's “Adjust namespace” for specific files

我有一个类名称空间与项目的文件夹结构不匹配。

使用// ReSharper disable once CheckNamespace我可以禁用命名空间与文件位置不对应的提示。 但是,在重构项目名称空间时,仍会选择该类来调整名称空间。

有没有办法禁用adjust命名空间?


更新样本:

在我的例子中,我有一个必须在System.Web.Mvc -Namespace中的视图类。 文件位置是[Root]> src> Views Root-Project的默认命名空间是Com.xxxxx.Commons.Web

因此,Resharper总是希望将命名空间调整为Com.xxxxx.Commons.Web.ViewsCom.xxxxx.Commons.Web如果我禁用了Views-folder-namespace-flag。

不幸的是,R#中存在一个长期存在的错误disable CheckNamespace不会受到“调整命名空间”重构的影响。 据我所知,没有其他方法可以从此重构中排除特定文件。

您可以通过打开要排除的文件夹的属性窗口(右键单击 - >属性)将名称空间提供程序更改为false,从而将该文件夹禁用为命名空间提供程序。

ReSharper的Adjust Namespace重构不再影响使用// ReSharper disable CheckNamespace标记的名称空间。 ReSharper 2016.2中修复了ReSharper中长期存在的错误 (@ ulrichb旧答案中引用的链接)


限制 (目前,从ReSharper 2018.1开始)

  • 如果根本没有命名空间,即使为该文件指定了disable CheckNamespace ,ReSharper也会自动添加命名空间。

例如,这有效:

// ReSharper disable once CheckNamespace
namespace DoNotAdjustThisNamespace
{
    public class TestClass1
    {
    }
}

但是,这不是:

// ReSharper disable once CheckNamespace
public class TestClass1
{
}
  • 仍存在误导性的UI问题,其中所有文件仍显示在“调整命名空间”UI中,但实际上不会发生命名空间更改。 这有点误导......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM