停止ReSharper添加注释

时间:2013-03-18 19:34:18

标签: c# resharper resharper-7.1

我在C#项目中使用ReSharper,一般我喜欢它。但是,当我执行某些重构操作时,它会不断向代码添加注释。

例如,当我使用“Check parameter for null”上下文操作时,它会添加[NotNull]

// Before context action
public void Foo(object input)
{
}

// After context action
public void Foo([NotNull] object input)
{
    if (input == null)
    {
        throw new ArgumentNullException("input");
    }
}

此外,ReSharper然后将using JetBrains.Annotations添加到文件中,即使我没有引用定义属性的JetBrains程序集。

我想继续使用上下文操作,因为它们非常有用,但我不能在代码中引入外部注释。 ReSharper提供了一个更改默认注释命名空间的选项,并将注释属性源代码复制到项目中,但这也不是此项目的选项。

有没有办法告诉ReSharper完全停止添加注释?我已尝试在选项中取消选中JetBrains.Annotations作为具有代码注释属性的命名空间,但这似乎对注释是否首先生成没有任何影响。

更新:虽然我实际上并没有引用JetBrains.Annotations.dll,但我引用了另一个DLL,它在同一个JetBrains.Annotations命名空间中重新实现了相同的注释属性。删除该DLL引用将阻止ReSharper添加注释。如果还有一个选项可以关闭它,那就太好了,但是解决方法适合这种情况。

1 个答案:

答案 0 :(得分:6)

当您引用JetBrains.Annotations.dll时,“Check parameter for null”的默认操作似乎是使用NotNull属性(尽管添加了“Annotate with'NotNullAttribute'”选项。

我知道的唯一解决方法是不引用JetBrains.Annotations.dll

更新

进一步了解这一点,似乎有一个建议/错误,当包含注释dll并且请求“检查参数为空”时,[NotNull]被添加:http://youtrack.jetbrains.com/issue/RSRP-70350如果有其他人发生这种情况并想知道为什么 ......