我在我的 C# 项目中使用 ReSharper,总的来说我很喜欢它。但是,当我执行某些重构操作时,它会不断向代码添加注释。
例如,它添加了[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 作为具有代码注释属性的命名空间,但这似乎对是否首先生成注释没有任何影响。
Update:虽然我实际上并未引用 JetBrains.Annotations.dll,但我引用了另一个 DLL,该 DLL 在同一 JetBrains.Annotations 命名空间中重新实现了相同的注释属性。删除该 DLL 引用将阻止 ReSharper 添加注释。如果仍然有一个选项可以关闭此功能,那就太好了,但解决方法适合这种情况。
当您引用 JetBrains.Annotations.dll 时,“检查参数是否为空”的默认操作似乎是使用NotNull
属性(尽管添加了“使用‘NotNullAttribute’进行注释”选项。
我知道的唯一解决方法是不引用JetBrains.Annotations.dll
.
Update:
进一步研究这一点,似乎有一个建议/错误[NotNull]
当包含注释 dll 并请求“检查参数是否为空”时添加:http://youtrack.jetbrains.com/issue/RSRP-70350 http://youtrack.jetbrains.com/issue/RSRP-70350万一其他人遇到这种情况并且想知道why...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)