源代码中的注解
从 ReSharper 的代码注解中获益的最简单方法是将注解属性添加到您的源代码符号中,并让 ReSharper 以更高的准确性和洞察力分析您的解决方案。
在您的项目中启用代码注解支持
要在您的项目中使用注解属性,您需要在项目中引用它们:
推荐的方法是安装带有
JetBrains.Annotations程序集的 NuGet 包。实际上,您甚至不需要访问 NuGet 网站来获取该包。 只需添加
using JetBrains.Annotations;指令,并使用相应的 Alt+Enter 操作即可自动获取该包。
您可以 添加项目引用 到 JetBrains.Annotations.dll ,您可以在 ReSharper 安装目录 中找到它。
您还可以在项目中的任何位置 嵌入属性声明 ,使用默认的
JetBrains.Annotations命名空间或其他命名空间。
如果 JetBrains.Annotations 被引用或属性声明嵌入到解决方案中的任何项目中,您可以键入所需的注解属性并按 Alt+Enter 调用 快速修复 ,该操作会在当前项目中引用此模块并添加缺失的 using 指令:

或者,您可以按两次 Control+Alt+Space 调用 双重导入补全 ,它会找到属性、导入命名空间并添加引用。

在您的源代码中嵌入代码注解的声明
您可以在 ReSharper 选项 的 页面上获取代码注解声明的副本 Alt+R, O 。 复制时,您可以选择将声明设为 internal。
注解属性的默认实现声明在 JetBrains.Annotations 命名空间中,但注解的工作并不需要此命名空间。 您可以将声明放在解决方案中的任何位置,ReSharper 会自动检测它们。 但是,如果声明位于不同的命名空间中,您应按照以下描述明确指定带有注解属性的命名空间。
此外,您的解决方案中可能包含多个注解属性的实现,例如,您有与 ReSharper 注解类(CanBeNullAttribute、 NotNullAttribute 等)同名的类,或者您正在使用包含 ReSharper 注解类的第三方程序集。 在这种情况下,您可以选择 ReSharper 应查找注解属性类的适当命名空间。
更改代码注解属性的来源
从主菜单中选择 或按下 Alt+R O ,然后在左侧选择 。
所有包含注解类的命名空间(无论是源代码还是引用的程序集)中,除了
JetBrains.Annotations以外的命名空间(ReSharper 只会查找CanBeNullAttribute和NotNullAttribute声明)都会显示在 带有代码注解属性的命名空间 列表中。 检查包含所需实现的条目。如果列表中有多个命名空间,请选择一个应由 ReSharper 代码分析引擎使用的命名空间,并在 默认注解命名空间 列表中选择它。
在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置。
使用上下文操作添加注解属性
一旦 ReSharper 知道了注解类的位置,您就可以使用 上下文操作来添加最常用的注解属性:
[NotNull][CanBeNull][UsedImplicitly]
要添加这些注解,请在您想要注解的符号上按 Alt+Enter ,ReSharper 会根据上下文建议一个属性:
