ReSharper 2022.1 与 Visual Studio 2022
本文列举了 ReSharper 2022.1 提供的一些功能,Visual Studio 2022 17.1 缺少这些功能或者没有完全实现。
Microsoft Visual Studio 2022 17.1 | ReSharper 2022.1 |
代码分析 | C#、VB.NET、XAML 的实时设计时代码分析 | 所有受支持语言(包括 ASP.NET、XAML、JavaScript、TypeScript、HTML 等)的实时设计时代码分析 |
800 多条代码分析规则(代码检查) | 1500 多条代码分析规则(代码检查) | |
设计时错误高亮显示:C#、VB.NET、JavaScript、TypeScript 和 C++ 的编译器错误 | 设计时错误高亮显示:所有受支持语言的大多数编译器错误、许多可能的运行时错误(例如检测可能的空引用异常) | |
400 多种可自动修正的代码问题 | 1900 多种可自动修正的代码问题 | |
250+ quick actions to resolve code issues in C#, F#, and VB.NET | 1300 个用于解决 C#、VB.NET、ASP.NET、XAML、XML、JavaScript、TypeScript 和其他受支持语言中代码问题的快速修复 | |
C# 和 VB.NET 的全解分析 | 适用于所有受支持语言的解决方案级错误/警告监视器 | |
调用层次结构 | 调用跟踪 | |
集成 ESLint 支持 | 集成 JSLint、ESLint 和 TSLint 支持 | |
报告文件内的所有错误和代码质量问题 | 报告任何范围,直至整个解决方案内的所有错误和代码质量问题 | |
可空性分析的代码注解 | 代码注解有助于更准确地分析解决方案(可空性、协定等) | |
建议用于已安装 NuGet 软件包中的类型 | 可在 nuget.org 上查找未解析符号和命名空间的快速修复 | |
带有结构搜索和替换模式的自定义代码检查和修正 | ||
字符串文字、标记和特性中存储代码的分析 | ||
Track Value Source | 分析值来源和目的地的值跟踪 | |
重构 | 15 个解决方案级重构 | 58 个解决方案级重构 |
120 多个局部重构(自动局部代码转换) | 470 多个上下文操作(自动化局部代码转换) | |
Project-level cleanup refactoring: Sync Namespaces | Project-level cleanup refactorings: Adjust Namespaces, Move Types into Matching Files, and Remove Unused References. | |
相同或相似代码的结构化替换 | ||
代码生成 | 从用法创建 | 从用法创建 |
从代码段(模板)生成代码 | 从可配置的实时、包围、源和后缀模板生成代码 | |
从模板生成文件 | 从可配置模板生成文件和文件集 | |
生成类型成员 | 生成类型成员 | |
为参数生成空检查 | 为参数生成可配置的空检查 | |
代码段的可视化编辑器(模板) | ||
构建工具 | MSBuild | ReSharper Build:进程外增量构建工具,可优化 MSBuild 并应用启发式方法仅构建需要更新的项目,附带内置 NuGet 软件包恢复器 |
项目级工具 | 依赖关系图 Enterprise | 项目依赖关系图、程序集依赖关系图和类型依赖关系图不需要 Visual Studio Enterprise 版,无需编译即可显示 |
用于打开和导航已编译程序集的程序集浏览器 | ||
用于探索 NuGet 库中软件包、类型和命名空间的 NuGet 浏览器 | ||
多个启动项目、静态方法和外部可执行文件的运行配置 | ||
编码辅助 | 代码补全 | 代码补全为上下文驱动,可从整个解决方案建议类型和扩展方法、导入命名空间、生成代码等 |
语法高亮显示 | 语法高亮显示(不同可配置颜色对应不同标识符种类) | |
自动导入命名空间 | 自动导入命名空间,以 NuGet 搜索类型和命名空间 | |
向上/向下移动行或选区 | 向上/下/左/右移动行、选区、语句、形参、成员等 | |
展开/收缩选择 | Extend/Shrink Selection | |
正则表达式辅助 | 带有 Validate Regular Expression 对话框的正则表达式辅助 | |
从剪贴板历史记录粘贴项 | 从剪贴板历史记录粘贴项 | |
形参名称和类型名称的嵌入提示 | 形参名称、类型名称、类型转换的嵌入提示;push-to-hint 模式 | |
使用 ';' 补全语句 | 补全语句 | |
使用 Tab/Shift+Tab 进行结构化导航 | ||
结构化移除 | ||
本地化辅助 | ||
粘贴字符串文字中转义序列的自动更正 | ||
集成拼写检查 | ||
导航和搜索 | 转到 | 随处搜索 |
转到声明 | 转到声明有助于在用法间导航 | |
查找引用 | 查找当前和相关符号的用法,包括文本匹配项 | |
高亮显示引用 | 高亮显示引用 | |
转到符号 | 转到符号 | |
转到类型 | 转到类型 | |
转到文件成员 | 转到文件成员 | |
转到文件 | 转到文件 | |
代码书签 | 代码书签 | |
导航到反编译源代码 | 导航到反编译代码 | |
查看最近的文件 | 查看最近的文件/最近的编辑和跳转到上次编辑 | |
快速启动 | 转到操作 | |
转到基本 | 转到基本符号、派生符号和最终实现 | |
Gutter icons for implemented and inherited symbols | Gutter icons for implemented, inherited, and hiding symbols | |
转到文本 | ||
结构化搜索和替换 | ||
转到相关和附近文件 | ||
导航到公开 API | ||
IL Viewer | ||
项目、项目引用、类型、CSS 样式的层次结构视图 | ||
文件结构 | ||
具有可配置模式的解决方案级待办事项浏览器 | ||
代码样式 | 重新设置代码格式 | 重新设置代码格式,可选择使用格式化规则的上下文配置 |
优化命名空间 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、QUnit、Jasmine) | |
从编辑器运行测试(仅限 MSTest 和 xUnit.net) | 从编辑器运行测试 | |
在编辑器中查看测试状态(仅限 MSTest 和 xUnit.net) | 在编辑器中查看测试状态 | |
代码覆盖率工具 Enterprise | 代码覆盖率工具 dotUltimate | |
Live Unit Testing Enterprise | 持续测试 dotUltimate | |
多个单元测试会话,可同时独立运行 | ||
调试器 | 编辑器中的数据提示 | 编辑器中可搜索的数据提示 |
断点窗口 | 带有预览、上下文搜索、分组和导出的断点窗口 | |
按上下文查找断点 | ||
局部变量、当前行表达式和函数返回的值在编辑器中显示 | ||
管理设置 | 通过 Microsoft ID 同步设置 | 通过 VCS 或任何文件托管服务与团队同步设置 |
设置层系统,存储不同解决方案的不同设置而不产生冲突 | ||