ReSharper 与 Visual Studio
本文列举了 ReSharper 提供的一些功能,Visual Studio 缺少这些功能或者没有完全实现。
由于两款产品都在积极地开发中,它们的功能会定期发生变化,此比较只针对比较表的标题中显示的这些特定版本。
Microsoft Visual Studio 2022 17.12 | ReSharper 2024.3 | |
---|---|---|
代码分析 | C#、VB.NET、XAML 的实时设计时代码分析 | 所有受支持语言(ASP.NET、XAML 等)的实时设计时代码分析 |
800 多条代码分析规则(代码检查) | 1600 多条代码分析规则(代码检查) | |
设计时错误高亮显示:C#、VB.NET、JavaScript、TypeScript 和 C++ 的编译器错误 | 设计时错误高亮显示:所有受支持语言的大多数编译器错误、许多可能的运行时错误(例如检测可能的空引用异常) | |
400 多种可自动修正的代码问题 | 2100 多种可自动修正的代码问题 | |
250 多个用于解决 C#、F# 和 VB.NET 中代码问题的快速操作 | 1500 多个用于解决 C#、VB.NET、ASP.NET、XAML、XML、JavaScript、TypeScript 和其他受支持语言中代码问题的快速修复 | |
在文档、项目、解决方案、包含成员和包含类型中修复所有问题 | 文档、项目、文件夹、解决方案中的作用域内修复 | |
C# 和 VB.NET 的全解分析 | 适用于所有受支持语言的解决方案级错误/警告监视器 | |
传入调用 | ||
集成 ESLint 支持 | ||
报告文件内的所有错误和代码质量问题 | 报告任何范围,直至整个解决方案内的所有错误和代码质量问题 | |
可空性分析的代码注解 | 代码注解有助于更准确地分析解决方案(可空性、协定等) | |
建议用于已安装 NuGet 软件包中的类型 | 可在 nuget.org 上查找未解析符号和命名空间的快速修复 | |
带有结构搜索和替换模式的自定义代码检查和修正 | ||
字符串文字中代码的分析 | 字符串文字、标记和特性中代码的分析 | |
跟踪值来源 | 分析值来源和目的地的值跟踪 | |
重构 | 15 个解决方案级重构 | 60 多个解决方案级重构 |
120 多个局部重构(自动局部代码转换) | 500 多个上下文操作(自动化局部代码转换) | |
局部重构预览 | ||
项目级清理重构:同步命名空间 | ||
相同或相似代码的结构化替换 | ||
代码生成 | 根据用法创建 | 根据用法创建 |
从代码段(模板)生成代码 | ||
从模板生成文件 | 从可配置模板生成文件和文件集 | |
生成类型成员 | ||
为参数生成空检查 | ||
代码段的可视化编辑器(模板) | ||
构建工具 | MSBuild | ReSharper Build:进程外增量构建工具,可优化 MSBuild 并应用启发式方法仅构建需要更新的项目,附带内置 NuGet 软件包恢复器 |
项目级工具 | 多项目启动配置 | 多个启动项目、静态方法和外部可执行文件的运行配置 |
依赖关系图 Enterprise | ||
用于打开和导航已编译程序集的程序集浏览器 | ||
用于探索 NuGet 库中软件包、类型和命名空间的 NuGet 浏览器 | ||
编码辅助 | 代码补全 | 代码补全为上下文驱动,可从整个解决方案建议类型和扩展方法、导入命名空间、生成代码等 |
语法高亮显示 | 语法高亮显示(不同可配置颜色对应不同标识符种类) | |
自动导入命名空间 | 自动导入命名空间,以 NuGet 搜索类型和命名空间 | |
向上/向下移动行或选区 | 向上/下/左/右移动行、选区、语句、形参、成员等 | |
展开/收缩选择 | ||
正则表达式辅助 | ||
从剪贴板历史记录粘贴项 | ||
形参名称和类型名称的嵌入提示 | 形参名称、类型名称、类型转换的内嵌提示;push-to-hint 模式 | |
集成拼写检查 | ||
导航和搜索 | 代码搜索 | 随处搜索 |
转至声明 | 转到声明有助于在用法间导航 | |
查找引用 | 查找当前和相关符号的用法,包括文本匹配项 | |
高亮显示引用 | 高亮显示引用 | |
转到符号 | 转到符号 | |
转到类型 | 转到类型 | |
转到文件成员 | 转到文件成员 | |
转到文件 | 转到文件 | |
代码书签 | 代码书签 | |
导航到反编译源代码 | 导航到反编译代码 | |
查看最近的文件 | 查看最近的文件/最近的编辑和跳转到上次编辑 | |
快速启动 | 转到操作 | |
转到基本 | ||
已实现和继承的符号的装订区域图标 | 已实现、继承和隐藏符号的装订区域图标 | |
文档概要 | ||
查看文件的全局使用 | 查看和重构全局使用 | |
转到文本 | ||
项目、项目引用、类型、CSS 样式的层次结构视图 | ||
Task List window | ||
代码样式 | 重新设置代码格式 | 在文件、项目或解决方案中重新格式化代码,可选择使用格式化规则的上下文配置 |
优化命名空间 import 指令 | 优化命名空间 import 指令,包括批量 import | |
可配置的代码语法样式检查 | ||
命名样式 | ||
EditorConfig支持 | EditorConfig 支持,具有 File Formatting Info 窗口,可以浏览影响当前文件的所有 .editorconfig 文件 | |
文件、项目或解决方案中的代码清理 (C#) | 任意范围的代码清理:选区、文件、文件夹、项目、解决方案(C#、VB.NET、C++、JavaScript、TypeScript、HTML 和其他语言) | |
移除文件中不必要的使用和未使用的私有成员 | 在方法、类、文件、项目或整个解决方案范围<移除代码冗余 | |
通过 EditorConfig 的文件头样式 | 通过 EditorConfig 或设置的文件头样式 | |
使用可视化编辑器组织和重新排序文件/类型成员 | ||
单元测试 | 单元测试资源管理器 | |
测试框架支持(MSTest、VSTest、xUnit.net) | 测试框架支持(MSTest、VSTest、xUnit.net、NUnit) | |
从编辑器运行测试(仅限 MSTest 和 xUnit.net) | 从编辑器运行测试 | |
在编辑器中查看测试状态(仅限 MSTest 和 xUnit.net) | 在编辑器中查看测试状态 | |
代码覆盖率工具 Enterprise | 代码覆盖率工具 dotUltimate | |
实时单元测试 Enterprise | 持续测试 dotUltimate | |
多个单元测试会话,可同时独立运行 | ||
调试器 | 编辑器中的数据提示 | 编辑器中可搜索的数据提示 |
具有分组和导出的断点窗口 | 带预览、上下文搜索、分组和导出的断点窗口 | |
方法返回值显示在编辑器中 | 局部变量、当前行表达式和函数返回的值在编辑器中显示 | |
管理设置 | 通过 Microsoft ID 同步设置 | 通过 VCS 或任何文件托管服务与团队同步设置 |
设置层系统,存储不同解决方案的不同设置而不产生冲突 | ||
安全 | 检测存在漏洞的软件包 | |
其他 | 诊断工具 | |
本地化 GUI | 本地化 GUI | |
30 天免费试用 |