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 或任何文件托管服务与团队同步设置
设置层系统,存储不同解决方案的不同设置而不产生冲突
下载
30天免费试用