ReSharper 使用教程:从入门到精通
ReSharper 是由 JetBrains 公司推出的一款针对 Visual Studio 的智能插件,它被誉为 .NET 开发者的“神器”,它通过深度静态代码分析、强大的代码生成和重构功能,极大地提升了开发效率和代码质量。

第一部分:入门篇 - 快速上手与核心功能
安装与激活
- 下载:访问 JetBrains 官网 下载 ReSharper,新用户通常可以享受 30 天的全功能免费试用。
- 安装:双击安装包,它会自动检测你电脑上安装的 Visual Studio 版本,并完成集成,安装完成后需要重启 Visual Studio。
- 激活:启动 Visual Studio 后,ReSharper 会提示你激活,你可以使用购买的正版许可证,或者选择
Evaluate for free继续试用。
熟悉界面与核心窗口
ReSharer 的核心功能都集成在 Visual Studio 中,主要通过几个关键窗口来体现:
- ReSharper 操作面板:按
Alt + \快捷键可以呼出这个面板,这是 ReSharper 功能的“指挥中心”,你可以在这里搜索并执行任何 ReSharper 命令。 - 代码改进建议:ReSharper 会在你的代码下方以绿色波浪线标出可以改进的地方,将鼠标悬停在上面,会看到具体的建议和快速修复的选项(通常是一个黄色的小灯泡图标)。
- 代码结构窗口:默认在 Visual Studio 的右侧,它会以树状结构实时显示当前文件或整个项目的代码结构,非常方便导航。
- 待办事项:ReSharper 会自动将代码中的
// TODO,// HACK等标记收集到“待办事项”窗口中,方便你跟踪和管理。
核心功能一览
这是 ReSharper 的魅力所在,我们通过最常用的场景来介绍:
a. 代码导航与搜索
- 导航到 (
Ctrl + T):比 VS 自带的Ctrl + ,更强大,可以搜索类、方法、字段、文件等。 - 转到实现 (
Ctrl + F12):从一个接口、抽象方法或虚名上,快速跳转到它的所有实现或重写。 - 转到派生项 (
Alt + F12):从一个基类或接口,快速查看所有派生类。 - 解决方案中的符号 (
Ctrl + T, 然后输入 ):全局搜索项目中的任何符号。 - 最近的更改 (
Ctrl + Shift + F12):快速跳转到你最近修改过的代码位置。
b. 实时代码检查与快速修复
这是 ReSharper 最直观的功能,它会实时分析你的代码,并给出优化建议。
- 未使用的 using 指令:自动高亮并一键移除。
- 未使用的局部变量/参数:提示并可以快速移除或注释。
- 可能的“空引用”异常:当你访问一个可能为
null的对象时,会给出警告。 - 代码风格不一致:你的项目约定使用
var,但你写了显式类型,它会提示。 - 快速修复:将鼠标悬停在警告上,点击黄色灯泡,选择建议的修复方案。
示例:

// ReSharper 会提示 "Field 'myField' is never used"
private string myField = "hello";
// ReSharper 会提示 "Unnecessary using directive"
using System.Text;
public void DoSomething()
{
// ReSharper 会提示 "Possible 'null' reference exception"
var length = myField.Length;
}
c. 强大的代码生成
- 构造函数/方法参数:在类中右键,选择
Generate->Constructor或ToString(),Equals(),GetHashCode()等。 - 重写/实现方法:在接口或基类上右键,可以一键生成所有需要实现的方法签名。
- 属性:快速生成属性,甚至可以支持表达式体属性。
- 从使用生成:当你使用了一个不存在的类或方法时,ReSharper 会提示你“创建类型”或“创建方法”,并自动填充好参数。
d. 重构
重构是 ReSharper 的王牌功能,可以在不改变代码外部行为的前提下,优化代码结构。
- 重命名 (
F2):智能重命名,它会重命名所有相关的引用,包括注释、字符串中的内容(如果确认是代码)等,比 VS 自带的更安全、更智能。 - 提取方法 (
Ctrl + Alt + M):将一段代码块提取成一个独立的方法,非常适合消除重复代码。 - 提取接口 (
Ctrl + Shift + I):从一个或多个类中提取出一个新接口。 - 封装字段 (
Ctrl + R,E):将一个public字段变成private并自动生成一个public属性,是面向对象编程的必备操作。 - 更改签名 (
Ctrl + R,S):批量修改一个方法的名称、参数、返回值等,并自动更新所有调用点。
第二部分:进阶篇 - 提升效率与代码质量
代码风格与格式化
ReSharper 可以强制整个团队保持一致的代码风格。
- 基本格式化 (
Ctrl + E,F):根据预设规则格式化选中的代码或整个文件。 - 全面格式化 (
Ctrl + E,C):不仅格式化代码,还会整理using指令、移除多余的空行等。 - 自定义代码风格:通过
ReSharper->Options->Code Editing->C# -> Formatting可以自定义几乎所有的代码风格规则,比如括号位置、缩进、命名规则等。 - 清理代码 (
Ctrl + E,D):一个组合拳,会同时执行格式化、整理using、移除未使用的引用等操作,非常适合在提交代码前运行。
Unit Testing 集成
如果你使用 MSTest, NUnit 或 xUnit,ReSharper 能让你的测试工作流无比顺畅。
- 运行测试:在测试方法或类上右键,可以直接运行单个测试或整个测试类。
- 创建测试 (
Ctrl + T,T):在任何一个需要测试的类上,可以快速生成测试类和测试方法骨架。 - 导航测试:轻松跳转到某个方法的测试代码或被测试的代码。
- 覆盖率:可以直观地看到哪些代码被测试覆盖了,哪些没有。
解决方案范围分析
ReSharper 不只是分析单个文件,它能理解整个解决方案。

- 查找重复代码:
ReSharper->Inspect->Find Code Duplication,它可以跨文件、跨项目查找重复的代码块,是重构的绝佳起点。 - 依赖关系图:
ReSharper->Diagrams->Show Dependencies,可以可视化地查看项目、命名空间、类之间的依赖关系,帮助你发现设计上的问题。 - 类型结构图:
ReSharper->Diagrams->Type Hierarchy,查看一个类的继承或实现关系。
第三部分:高手篇 - 自定义与高级技巧
自定义模板与 Live Templates
- Live Templates:这是提高编码速度的“大杀器”,它是一些代码片段的快捷方式。
- 内置模板:输入
prop然后按Tab,会自动生成一个属性;输入ctor然后按Tab,会生成构造函数。 - 自定义模板:你可以创建自己的模板,你经常需要写一个包含日志记录的方法,可以创建一个名为
logmeth的模板,定义好结构,之后只需输入logmeth+Tab即可快速生成。 - 设置路径:
ReSharper->Options->Editor->Live Templates。
- 内置模板:输入
配置文件
为了在团队中统一使用 ReSharper,你可以导出和导入配置文件。
- 导出:
ReSharper->Options-> 在左下角点击Export,将你的所有配置(代码风格、Live Templates、检查规则等)保存为一个.xml文件。 - 导入:团队成员只需导入这个配置文件,就能立刻获得和完全一致的 ReSharper 体验。
命令行模式
ReSharper 提供了命令行工具,可以集成到你的 CI/CD 流程中。
- 代码检查:可以在构建过程中运行
ReSharper.CommandLine.exe对代码进行静态分析,如果发现严重问题,可以导致构建失败,从而保证代码质量。 - 格式化检查:可以检查代码是否符合团队约定的格式,不符合则报错。
第四部分:最佳实践与技巧
- 从核心功能开始:不要试图一次性掌握所有功能,先熟练使用 代码导航、实时检查、快速修复、代码生成和基本重构,这些就能立刻提升你的效率。
- 善用快捷键:花点时间学习最常用的快捷键(如
Alt + \呼出面板,Ctrl + T导航,F2重命名),它们能让你摆脱鼠标,双手不离键盘。 - 将 ReSharper 集成到工作流中:
- 编码时:依赖它的实时检查,编写更健壮的代码。
- 重构时:大胆使用它的重构功能,让代码结构更清晰。
- 提交前:运行一次
清理代码,确保代码整洁、格式统一。
- 团队协作:务必使用配置文件来统一团队的 ReSharper 设置,避免因为个人偏好导致代码风格混乱。
- 保持更新:JetBrains 会频繁更新 ReSharper,修复 Bug 并增加新功能,保持更新可以让你始终拥有最好的体验。
ReSharper 不仅仅是一个工具,它更像是一位 24/7 在线的资深导师,时刻在你身边提醒你代码的“坏味道”,并手把手教你如何改进,初期可能需要一些学习成本,但一旦你掌握了它的核心用法,你的开发效率和代码质量将会迈上一个全新的台阶。
建议:安装后,花一个下午的时间,打开一个旧项目,尝试使用它提供的各种建议和重构功能,你会立刻感受到它的强大,祝编码愉快!
