ReSharper 版本历史
本主题列出了以前版本 ReSharper 的发行说明。 要查看最新版本的发行说明,请转到 ReSharper 2025.3 中的新增功能 。
ReSharper 2025.2
-
C# 14 支持:
-
扩展(初始支持,功能正在编译器中开发)
-
局部事件与构造函数
-
空条件赋值
-
用户定义的复合赋值运算符
-
忽略的预处理器指令
-
-
针对
[LoggerMessage]的新增重构、代码检查与代码补全项 -
与 Roslyn IDE 检查匹配的 ReSharper 检查将遵循 Roslyn 配置
-
性能改进:
-
Razor:缓存重构,更快的 查找用法
-
重命名重构 :更快的执行速度以及更好的进度指示
-
就地重构 优化:减少对输入的干扰
-
源生成文件的解决方案中热启动性能提升
-
ReSharper 构建 :更低的内存占用、更快的执行速度、程序集表面启发式
-
更快的缓存加载:加权信号量,以及并行 I/O 加载文档
-
-
C++ 中的新功能:
-
支持新语言特性:
-
C++26:可变参数
friends、= delete("reason")、占位变量、结构化绑定的属性 -
C11:
_Atomic类型 -
C23:
_BitInt(N)类型、十进制浮点数
-
-
对无效
#if处理的代码块提供代码辅助 -
-
显示实现
UINTERFACE的蓝图 -
对
BlueprintGetter和BlueprintSetter元数据提供代码补全
-
-
支持在 OpenMP
#pragma指令中引用变量 -
提供新的语法样式上下文操作和设置,以按照声明顺序排序定义
-
用于保存 lambda 的变量命名样式
-
构造函数初始化列表中冒号前的空格格式设置
-
在不包含于 CMake 和“打开文件夹”项目中任何构建目标的源文件中启用 ReSharper C++ 功能
-
文件结构 :对关键字和标识符进行语法高亮显示,使用新图标区分只读操作和修改操作
-
内联提示 适用于
std ::initializer_list类型的参数 -
单击
virtual关键字可导航至重写函数(类似于 单击override可跳转到基函数)
-
ReSharper 2025.1
-
完全支持 .NET 10 和 C# 14 预览功能
-
转换参数重构 改进:支持值元组、记录类、主构造函数等。
-
Push-to-Hint 激活改进(按下 键两次并按住),以及 marker bar 上的视觉指示器。
-
Unity 插件 已捆绑。
-
Formatter 改进:在
//后正确换行并添加空格,以及一个选项以避免在方法调用中单个 lambda 表达式参数之前插入换行符。 -
集成反编译器改进:
-
支持 C# 字符串插值:反编译器现在会在适用的情况下自动将
String.Concat和String.Format调用转换为 C# 字符串插值。 -
支持
allows ref struct泛型反约束 -
支持
ref字段和scoped参数修饰符 -
支持文件范围命名空间。 仅限 dotPeek:在工具 | 选项 | 反编译器 | 代码样式和格式设置中,复选框选项为使用文件范围命名空间(默认 - 选中)。
-
支持
System.Threading.Lock -
支持基于模式的
ref结构体使用 -
支持必需成员
-
为某些整数常量显示带注释的十六进制表示
-
-
C++ 中的新功能:
-
支持多个新的 GNU 语言扩展:省略操作数的条件语句、
#import指令、_Float16、__bf16和__float128浮点类型、本地标签以及指定初始化器范围语法。 -
对 GoogleTest 和 Clang-Tidy 集成的更新。
-
Inline Macro 重构。
-
-
在包含大量蓝图的项目中优化内存使用。
-
为
UMETA和UPARAM反射宏提供代码补全和工具提示文档。
-
-
ReSharper 2024.3
-
改进了对 C# 13 功能的支持:
params集合、部分属性、System.Threading.Lock类型、重载解析优先级、field关键字。 -
新的 代码格式化 选项:围绕等号
=运算符的换行,从break缩进case,case语句与break放在同一行。 -
更细化的 命名规则 :
async和非async任务返回的方法及本地函数可以有不同的命名风格。 -
待办注释 现在可以是多行的,允许后续行的缩进文本被视为同一待办项的一部分。
-
工具提示和错误消息中的标识符已彩色化,以提高可读性。
-
重新设计的 代码清理 引擎,支持并行预处理。
-
集成反编译器改进:
-
IL 查看器 现在提供程序集清单的 IL 代码,包括:
-
程序集和模块信息,例如名称、自定义属性等。
-
引用的程序集和模块。
-
转发的类型.
-
文件和资源的列表。
当插入符号位于 编辑器 中的程序集或模块属性上,或外部程序集的 <AssemblyName>.cs 文件中的某处时,也会显示此 IL 代码。
-
-
支持主构造函数——当类声明主构造函数时,ReSharper 会正确显示构造函数及其参数,为您提供对象实例化的完整视图。
-
-
C++ 中的新功能:
-
在大型解决方案中的性能改进:LLVM 解决方案的初始索引速度提高了最多 10%,Unreal Engine 的内存使用量降低了约 20%,Chromium 的内存使用量降低了约 30%。
-
移动到文件夹 重构现在适用于 C++ 文件。
-
支持新的 C++23 和 C23 功能,以及若干 GNU 扩展。
-
Unreal Engine 支持:
-
为
UE_LOG和UE_LOGFMT宏提供代码补全和实时模板。 -
游戏标签的代码补全。
-
增强了对
UDELEGATE宏的支持。
-
-
捆绑的 clang-tidy 二进制文件已更新为 Clang 19。
-
您现在可以使用
// NOLINT(...)、// clang-format off和// clang-format on注释来管理集成的 Clang 工具。
-
ReSharper 2024.2
-
初步支持 C# 13。
-
能够将 用户界面语言 更改为中文、日语或韩语。
-
闭括号的内嵌提示 。
-
不同文化的预览 ,用于
ToString()格式说明符。 -
集成反编译器改进:
-
反编译器:默认和参数 lambda 参数(C#12:Lambda 可选和参数数组参数)
-
反编译器:lambda 上的属性
-
能够反编译受保护的程序集并忽略
[SuppressIldasm]属性。 -
支持同时包含 SrcSrv 和 SourceLink 的 PDB。
-
从关联程序集的目标框架或关联程序集的便携式 PDB 中获取外部源文件的预处理器指令(如
NET6_0_OR_GREATER)。 -
程序集资源管理器 :程序集构建配置检测和展示。
-
能够在 Web 浏览器中打开相应存储库的源代码,例如在 GitHub 上。
-
-
C++ 中的新功能:
-
C++23 支持:多维下标运算符、
#elifdef和#elifndefC++23/C23 预处理器指令,以及[[assume(<expr>)]]属性。 -
Unreal Engine :支持结构特性,检查
IOnlineSubsystem::Get ()的用法以及缺少对基方法的调用。 -
快速信息工具提示中的类型布局。
-
对 重命名 重构的改进。
-
支持 include-what-you-use 编译指令。
-
捆绑的 Clang-Tidy 二进制文件已更新为 Clang 18。
-
ReSharper 2024.1
-
AI 助手的多项改进,包括 AI 代码补全 。
-
改进了 重命名重构 的性能。
-
新的 命名风格设置 用户界面。
-
InspectCode 的默认输出格式从 XML 更改为 SARIF。 XML 输出仍可通过
-f="xml"参数使用。 -
Task<T>和ValueTask<T>在 处置分析 中的支持。 -
能够反编译 .NET 程序集以支持 WebCIL 打包格式 。
-
专用工具窗口用于 程序集差异 。
-
C++ 中的新功能:
-
调用跟踪 现在支持传出调用链。
-
C++20 模块:改进了性能并支持内部模块分区。
-
-
支持 Slate UI 框架。
-
在完成 C++ 代码中资源名称时,提供资产路径的补全。
-
现在支持 HLSL 着色器代码中的接口。
-
-
对 clang-format 集成的改进包括支持 GNU 内置样式以及
IndentAccessModifiers和DisableFormat格式样式选项。 -
更改签名 提供了新功能,包括在指针、引用或值类型之间更改参数类型的能力。
-
Grazie 拼写检查 在文档注释中。
-
用于配置文档注释样式的新设置( )。
-
新的 格式化选项 :“在 goto 标签后换行”、“缩进 goto 标签”、枚举值的排列、“对空括号格式不做更改”。
-
ReSharper 2023.3
-
AI 助手的多项改进,包括 AI 代码补全 。
-
更新了 语法和拼写检查引擎 。
-
创建单元测试 可以使用 AI 生成测试内容。
-
更好地支持使用别名(包括 C# 12 之前和 C# 12)。
-
支持 C# 12 拦截器,包括专用代码检查和 内嵌提示 。
-
新的 代码注解属性 : [MustDisposeResourceAttribute] 、 [HandlesResourceDisposalAttribute] 、 [IgnoreSpellingAndGrammarErrorsAttribute] 、 [TestSubjectAttribute] 、 [MeansTestSubjectAttribute] 。
-
Entity Framework 支持 的改进:EF 关系图和新的代码检查。
-
重新设计了 文件头样式 的模板。
-
更新了重构的用户体验,用于 将局部 using 转为全局 using 、 回退 以及 提取局部函数 。
-
性能改进。 例如,当存在大量目标类型对象创建时, 查找用法 的速度更快,这也使得其他功能(如重构)更快。
-
程序集差异 的改进:比较 NuGet 包、文件夹和存档;可配置的差异模式;自动检测 Beyond Compare、WinMerge、P4Merge 和 Meld 作为差异工具。
-
Assembly Explorer 窗口 的改进:显示 NuGet 包内的所有文件和文件夹;显示内容大小和类型(文件扩展名)Win32 资源节点。
-
C++ 中的新功能:
-
在非活动预处理器分支中进行代码补全。
-
查找用法 显示宏体和非活动代码中的可能用法。
-
支持
__pragma(pack)语法、各种 clang 内置函数、特殊预处理器运算符__has_cpp_attribute以及若干新的 C99 和 C23 功能,例如restrict类型限定符。 -
Unreal Engine:
-
针对未标记
UFUNCTION宏的动态委托函数的新检查。 -
Generate hash function操作现在以 Unreal Engine 风格生成代码。
-
-
支持 HLSL 模板。
-
带有
[[jetbrains::...]]前缀的属性,用于 优化检查 。 -
一个新的 生成析构函数 操作。
-
捆绑的 clang-format 和 clang-tidy 二进制文件已更新为 Clang 17。
-
支持
#pragma region和#pragma endregion:内嵌提示、在匹配指令之间跳转的能力,以及在 文件结构 窗口中的折叠和导航。 -
新的检查: 条件表达式可以简化 、 多字符字符字面量 ,以及一组针对 C++20 模块中
export关键字错误用法的检查。
-
ReSharper 2023.2
-
C# 12 预览支持:对非记录类和结构的主构造函数支持。
-
AI 助手 。
-
预测调试器 。
-
用于 LINQ 表达式中间结果 的交互式调试器装饰。
-
新的代码检查及相应的快速修复,用于报告和修复:冗余的可空指令、返回由 'using' 语句捕获的变量、返回由 'using' 捕获对象生成的任务、丢弃与名为
_的变量冲突。 -
C# 中新的 内嵌提示 ,用于元组和解构模式的组件名称、丢弃类型名称、使用
#pragma禁用或恢复的警告描述、由块末尾的局部函数创建的隐式return或continue。 -
改进了从
var到可能的底层类型的 导航 。 -
改进了对原始字符串的支持(新的代码检查、快速修复、上下文操作和输入辅助)。
-
在与 Entity Framework 相关的上下文中,新增代码检查和导航操作。
-
能够为类 生成单元测试存根 ,并 在测试和被测试代码之间导航 。
-
能够 比较两个程序集 。
-
C++ 中的新功能:
-
安全删除 重构。
-
C++23 支持:
if consteval,静态operator()和operator[],以及 C++23 标准库模块。 -
C++20 支持:
[[no_unique_address]]属性,C++20 缺陷报告的实现char8_t,以及优化的模块支持,包括将.cppm文件识别为模块接口和对项目文件夹外模块的实验性支持。 -
Unreal Engine :改进了对蓝图的索引性能,对具有标准赋值语义的包装类型的智能补全,以及对
UE_INLINE_GENERATED_CPP_BY_NAME宏的支持。 -
新的检查:冗余的解引用和取地址,冗余的模板参数,ISO C++ 禁止没有基础类型的前向
enum声明。 -
当类型受概念或特性限制时,改进了代码补全。
-
递归调用的边距标记。
-
更一致且更直接的 转到声明 。
-
更新了捆绑的 clang-tidy 和 clang-format 二进制文件。
-
上下文操作可以将模板参数约束移动到
requires子句或反之。 -
改进了与 GCC 和 Clang 编译器以及 libc++/libstdc++ 标准库的兼容性。
-
ReSharper 2023.1
-
新的 代码检查 和 快速修复 ,例如,移除空区域,用
span is "stringLiteral"替换span.SequenceEquals("stringLiteral"),提取通用属性模式,减少集合查找次数。 -
空检查模式的语法风格 (
not null对比{ })。 -
针对 单元测试数据属性 的参数名称提示。
-
能够隐藏特定转换模式的 类型转换提示 。
-
您可以使用 重命名重构 重命名文件。 如果文件包含与其同名的类型,则可以相应地重命名该类型。
-
暂停 CSS 的生产力功能 的主动开发,这些功能默认被禁用。 要启用它们,请使用 ReSharper 选项 页上的相应复选框 Alt+R, O 。
-
C++ 中的新功能:
-
调用跟踪 用于传入调用。
-
工具提示和 快速文档 弹出窗口中的宏替换预览。
-
C++20 模块的更新:
-
支持 C++23 功能:
-
支持
__VA_OPT__。 -
新的检查:模板参数从未使用,
typedef/类型别名从未使用,冗余的基类初始化器,类型为HRESULT/NTSTATUS的函数结果应被使用,通过const引用传递值参数,类模板参数推导失败。 -
改进了编译时评估引擎,包括基于范围的
for循环的评估以及对联合的更好支持。 -
用于 重构 的上下文操作。
-
一个快速修复,用于从未解析的标识符创建参数。
-
如果您需要提取单行函数,现在不再需要选择整行,因为 提取方法 重构现在会在没有活动选择的情况下提取当前行。
-
更改签名 现在可以在插入符号位于函数签名的任何位置时调用,而不仅仅是在函数名称上。
-
一个新的 后缀模板 允许您快速使用
const引用std::as_const或AsConst。 -
以
/*开头的注释默认不再自动关闭为*/。 您可以通过新的 在 /* 后插入 */ 输入辅助选项启用关闭注释的自动插入。 -
默认情况下,文件路径在 排序
#include指令时会放在文件夹之前。
-
ReSharper 2022.3
-
对运行在 ARM64 上的 Microsoft Visual Studio 的早期支持。
-
检测 NuGet 包中的漏洞依赖项 。
-
C# 11 支持:C# 11 文件本地类型、静态虚拟成员、
ref字段、scoped关键字 C# 11 UTF-8 字面量;建议使用无符号右移>>>运算符,建议使用模式匹配替代Span.SequenceEqual("literal"),C# 11 原始字符串中的 语言注入 等。 -
支持 .NET 7 的 [StringSyntaxAttribute] 及其用于 语言注入 和 代码补全 的不同语法。
-
自动验证 已安装的扩展 。
-
反编译器改进:泛型属性、接口中的
static abstract和static virtual成员、用户定义的检查运算符、无符号右移运算符。 -
C++ 中的新功能:
-
对 C++20 模块的实验性支持。
-
-
使用 Core Redirects 重命名 Unreal Engine 实体 。
-
内嵌提示 用于
BlueprintCallable函数。 -
ReSharper 不再在自动导入建议中提供系统头文件和着色器文件中的不需要的实体。
-
-
能够使用 clang-format 格式化引擎 格式化和重新格式化代码。
-
C++ 支持:
-
C++20 版本的
[[nodiscard]]属性:[[nodiscard("should have a reason")]]。 -
GNU 风格的函数声明调用约定指定。
-
__atomic*和__sync*GCC 内置函数。 -
#pragma pack指令。 -
改进的编译时评估现在可以正确处理各种形式的对象初始化,包括任何类型的构造函数评估和指定初始化。
-
在
emplace样式和make样式调用中,参数信息和内嵌提示现在可用于任何隐含构造函数调用的函数。
-
-
改进了 clang-tidy 集成 。
-
参数信息和其他工具提示中的函数来源。
-
用于提高条件可读性的上下文操作。
-
ReSharper 2022.2
-
C# 11 预览支持:检查运算符、列表模式、必需成员、原始字符串、检查运算符、无符号右移、跨度模式匹配、自动默认结构。
-
自动 清理临时文件 。
-
结构化搜索和替换 模式和基于 [CodeTemplate] 属性的替换模板可以应用于所需范围(文件、项目或解决方案)。
-
一些解决方案范围的重构可从 操作列表 ( Alt+Enter )中使用: 提取方法 用于选定语句; 更改签名 、 转换参数 、 将属性转换为方法 用于成员签名; 将静态方法转换为扩展方法 用于签名和第一个参数。
-
在 Assembly Explorer 窗口 中为 ReadyToRun 和 NGen 程序集提供专用展示功能。
-
暂停 JavaScript、TypeScript 和 JSON 的生产力功能的主动开发,这些功能默认被禁用。 要启用它们,请使用 ReSharper 选项 页上的相应复选框 Alt+R, O 。
-
C++ 中的新功能:
-
-
Unreal Engine 索引性能提升。
-
蓝图支持 :新的内嵌提示和检查。
-
支持 Spec 测试。
-
代码补全列表中的小部件元数据说明符。
-
-
改进的错误渲染:工具提示中的语法高亮和更精确的错误高亮范围。
-
更新了 Boost.Test 支持并修复了数据驱动测试用例的问题。
-
更好地处理
emplace和make样式的函数调用,包括 Unreal EngineEmplace调用。 -
通过在 中按下
/**/注释中的键创建文档存根。 -
支持 公共包含目录 和 所有头文件都是公共的 项目属性。
-
捆绑的 Clang-Tidy 二进制文件已更新为 Clang 14,添加了新检查。
-
ReSharper 2022.1
-
C# 11 支持:泛型属性。
-
提取全局 using / 内联全局 using 重构。
-
支持将预处理器指令与移动的类型一起移动。 将类型移动到另一个文件的重构 。
-
基于约定的路由支持 ASP.NET Core。
-
检测和自动配置 语法风格 。
-
[MemberNotNull]和[MemberNotNullWhen]注解现在支持不使用可空引用类型的项目。 -
改进了对 可空引用类型 的支持。
-
平台程序集的 XML 文档注释,包括名称与 XML 文档文件名称不同的程序集(例如
System.Private.CoreLib)。 -
反编译/元数据视图文件头中的 XML 文档。
-
Assembly Explorer 窗口 中的转发类型。
-
改进了 PDB 导航(来自符号文件的源),适用于没有序列点的类型,例如接口和枚举。
-
能够 探索元数据 ,包括程序集和便携式 PDB。
-
InspectCode 命令行工具 可以生成静态分析结果交换格式(SARIF)的检查结果。
-
C++ 中的新功能:
-
-
快速文档 现在包含指向 Unreal Engine 文档 的链接。
-
重命名 重构现在会更新
U和I接口类。 -
改进的委托函数代码生成会从签名中替换参数名称。
-
-
单元测试 :
-
支持 Unreal Engine 测试框架 。
-
更新了 Catch2 v3 和最新版本的 GoogleTest、Boost.Test 和 doctest。
-
-
ReSharper C++ 现在更好地处理隐式构造函数调用,从而改进了以下情况的搜索和导航功能:
-
通过标准和 Unreal 特定函数创建智能指针,
-
emplace样式的容器方法, -
static_cast和 C 风格的强制转换表达式。
-
-
改进了使用 C++20 指定初始化器为聚合初始化生成多行样板代码。
-
更新了 C++20
requires表达式的格式化以及新的 文件末尾的换行符 选项。
-
ReSharper 2021.3
-
支持 Visual Studio 2022。
-
C# 10 支持,包括 文件范围命名空间 、
CallerArgumentExpression属性和全局 using 指令的专用功能。 -
改进了对可空引用类型的支持。
-
新的 检查 和 快速修复 ,帮助处理带闭包的静态局部/匿名函数、简化字符串插值、将对象初始化器转换为带参数的构造函数、查找字段上的不一致锁定等。
-
转到符号的类型 在调试模式下导航到接口实现。
-
整数算术分析 支持所有 C# 整数数值类型 ——
int、uint、byte、sbyte、short、ushort、long和ulong。 -
[CodeTemplate] 属性,帮助 报告和更新已弃用的 API 。
-
[RequireStaticDelegate] 属性,鼓励 无分配代码模式 。
-
查找用法 Alt+F7 适用于用户定义的隐式转换运算符。
-
重新设计的用户界面、自定义选项以及用于 复制代码引用 的新快捷键 Control+Alt+Shift+C 。
-
为 C# 格式化器 提供更多可配置规则。
-
通过 .globalconfig 文件 支持代码风格和检查配置。
-
改进了 继承边距标记 ,包括在 ReSharper 和 Visual Studio 标记之间切换的选项。
-
通过
[LanguageInjection]属性标记参数、字段和属性中的 注入语言 。 -
在插入符号下突出显示 逻辑和条件运算符 。
-
反编译器改进:支持异步可释放、记录和记录结构。
-
C++ 中的新功能:
-
C++20:
-
代码补全可快速生成使用指定初始化器的聚合初始化样板代码。
-
现代化检查以采用新的标准库功能:用于从任何标准容器中删除元素的函数(
std::erase和std::erase_if)、检查关联容器中是否存在元素(std::contains)以及创建具有默认初始化的智能指针(std::make_shared_for_overwrite和std::make_unique_for_overwrite)。
-
-
参数信息 工具提示显示常量表达式的评估结果。
-
新的检查和快速修复:lambda 声明符中的冗余参数列表,冗余的详细类型说明符,for 循环可以替换为 while 循环,包含单个类特化的命名空间定义,可能缺少关键字
throw,[[nodiscard]]不能应用于没有返回值的函数,抽象最终类被标记为final或sealed,非重写虚函数被标记为final或sealed。 -
文件结构 将具有相同限定符的符号分组在限定名称中。
-
更改签名 允许您控制
[[nodiscard]]属性。 -
C 支持:C11
_Generic表达式,typeofGNU 扩展。 -
转到声明 可以从
goto语句导航到相应的标签,并在非活动的预处理器块中搜索声明。 -
在输入
///时生成 Doxygen 注释。 -
捆绑的 Clang-Tidy 二进制文件已更新为 Clang 13,添加了新检查。
-
ReSharper 2021.2
-
可空引用类型支持:
-
新的检查、快速修复和上下文操作,例如冗余的可空警告抑制。
-
改进了对
[NotNullIfNotNull("param")]属性中参数名称的支持。 -
改进了对泛型的支持。
-
一个新的重构,用于更改可空性。
-
一个新的操作,用于从文件/项目/解决方案中的抑制表达式中查找可空警告抑制。
-
-
源生成器支持
-
新的检查、快速修复和上下文操作。 例如,建议将
new EventArgs()替换为EventArgs.Empty。 -
在 .editorconfig 中支持
generated_code属性以 忽略生成的代码 。 -
转到声明 在调试模式下对接口成员的使用进行调用时,可以 导航到其实际实现 。
-
转到派生符号 显示派生类中隐藏您正在导航的成员的成员。
-
InspectCode 命令行工具 会在开始分析之前自动恢复 NuGet 包并构建解决方案。
-
一个选项,用于关闭 Razor 中 CPU 密集型的 编码辅助功能 。
-
命名样式 的改进:支持记录、扩展方法和捕获变量的自定义命名规则。
-
加速对具有大量局部函数和闭包的成员的代码分析。
-
内置反编译器的改进:
-
单文件应用支持(使用“生成单文件”选项发布的可执行文件,包括自包含和框架依赖)适用于 .NET Core 3.0、.NET 5 和 .NET 6 预览(捆绑头版本 1.0、2.0 和 6.0)。
-
特定于平台的可执行文件(应用主机;“生成单文件”为 false)可以添加到 程序集资源管理器 中。 相应的托管程序集将显示在应用主机节点内。
-
反编译器支持异步流(
async迭代器,await foreach)。
-
-
C++ 中的新功能:
-
内联函数 重构。
-
类型转换提示 。
-
新的不可变性检查:参数可以被设为对
const的引用,参数可以被设为指向const的指针,变量可以被设为constexpr。 -
新的现代化检查:可以使用结构化绑定代替
tie(..),可以使用模板别名或变量模板简化类型特性,可以使用std::size,可以使用零初始化代替memset。 -
-
支持 Unreal Engine 5。
-
代码补全现在建议可用模块和插件的列表。
-
针对缺少模块和插件依赖项的检查和快速修复。
-
ReSharper 在生成重写函数时现在会插入
Super调用。 -
Unreal Engine 代码库的索引速度提高了 10%。
-
-
上下文操作可以将任何字符串转换为 C++11 原始字符串字面量,反之亦然。
-
退格取消缩进 。
-
快速文档 现在包含指向 cppreference.com 的链接。
-
用于配置函数定义代码生成的新设置。
-
捆绑的 Clang-Tidy 二进制文件已更新为 Clang 12,添加了新检查。
-
ReSharper 2021.1
-
新的检查、快速修复和上下文操作。 例如,建议将
!()转换为is not。 -
命名样式 的改进:
-
对用户规则进行排序,使更具体的规则具有更高的优先级。
-
从 EditorConfig 中读取和写入用户规则。
-
-
新的重构功能,用于重命名元组组件。
-
针对 ASP.NET Core 路由模板的结构化导航、重构、检查和快速修复。
-
元组转换的类型转换提示。
-
“导航到 Windows 资源管理器”操作。
-
新的格式化设置:
-
目标类型
new()括号前后和内部的空格。 -
赋值运算符前的换行。
-
标签语句中的缩进。
-
-
单元测试的改进。
-
JavaScript 和 TypeScript 测试的性能改进以及对 QUnit 2.14.0 版本的支持。
-
支持使用 Visual Studio 测试适配器扩展性 的自定义测试框架。
-
在 Visual Studio 2019 的通用 Windows 平台项目中支持 MSTest。
-
对生成的进程有更好的控制。
-
针对 NUnit 中
AutoFixture库的代码检查。
-
-
在 文件布局模式 中,新的约束
Body允许区分块体和表达式体成员。 -
复制 FQN 还允许复制 GitHub 链接。
-
C++ 中的新功能:
-
C++ 支持:
-
非类型模板参数中的类类型。
-
C++20 类模板参数推导规则。
-
noexcept作为函数类型的一部分。 -
新的协程代码补全项可用于基本代码补全和后缀补全模板:
co_await、co_yield和co_return。
-
-
-
初步支持 Unreal Engine 5。
-
支持
RIGVM_METHOD反射宏。 -
Cast后缀模板 。
-
-
一组 语法风格 设置,附带检查、快速修复和上下文操作。
-
代码清理 更新:新的代码清理任务,清理选择的上下文操作。
-
新的检查:模板参数可以被推导,变量可以移动到内部作用域,冗余的强制转换表达式。
-
针对转换错误的新快速修复。
-
针对 聚合初始化提示 的停止列表和单独的选项页面。
-
ReSharper 2020.3
-
C# 9 支持:
-
顶级语句。
-
本地整数。
-
目标类型条件表达式。
-
静态 lambda。
-
DynamicallyAccessedMembersAttribute支持。 -
仅初始化的设置器。
-
with 表达式和记录。
-
局部函数上的属性。
-
支持 lambda 丢弃参数。
-
源生成器。
-
目标类型
new。 -
协变返回。
-
扩展的部分方法
-
扩展
GetEnumerator -
初步支持函数指针类型
-
-
在 转到文本 中进行模糊搜索。
-
嵌入提示 的改进:推送到提示、类型转换提示、针对 XAML 提示的更好启发式和上下文菜单、更改字体大小的能力、重新设计的设置页面。
-
结构化移除 。
-
能够通过 跳出闭括号和引号 。
-
新的 C# 语法风格: 'new()' 对比 'new T()' 和 default' 对比 'default(T)' 。
-
支持 Avalonia 框架。
-
单元测试:直接从编辑器中使用选定的目标框架运行测试。
-
标识符工具提示中的语法着色。
-
CleanupCode 命令行工具 控制台工具现在可以在指定的文件或文件夹集上运行,而无需指向解决方案文件。
-
支持私有 Source Link。
-
反编译器改进:静态局部函数、顶级语句、局部函数上的属性、结构上的只读实例成员。
-
IL 查看器窗口 :同步和上下文高亮的改进。
-
Assembly Explorer 窗口 :顶级入口点项(展示、双击/上下文菜单导航、属性)。
-
TypeScript 支持:空合并和可选链式调用
-
C++ 中的新功能:
-
-
Unreal Engine 属性的实时跟踪
-
针对 HLSL 的控制流分析
-
重新生成项目文件的新提醒
-
Unreal Engine 编码标准 :默认 4 个字符的制表符大小,
MoveTemp用于转换为右值引用
-
C++20
-
比较规则
-
范围 库
-
支持 Visual Studio 16.8 中引入的 C++20 协程的标准模式
-
-
新的检查:可以使用操作范围的算法,可以使用
std::views::keys/values,可以使用接受迭代器和计数的算法。 -
导入补全 :
-
补全列表现在包括不完整类的合适成员。
-
新增选项,可为相应的类添加详细类型说明符。
-
-
上下文操作以反转三元表达式
-
转到声明 可用于在匹配的预处理器指令之间跳转,并在
override关键字上导航到基函数 -
查看定义 视图:查看实现( Ctrl+Alt +中键单击或 Control+Alt+Q )和查看基符号( Shift+Alt+Q )适用于 C++。
-
文件结构 现在使用 C++17 嵌套命名空间的语法。
-
C++/CLI : 转到派生符号 现在适用于 C++/CLI 属性中的
get/set函数和 C++/CLI 事件中的add/remove函数。 -
捆绑的 Clang-Tidy 二进制文件已更新为 Clang 11,添加了新检查和编译器诊断。
-
支持
/external:*编译器开关 -
对 Catch2 支持的更新
-
ReSharper 2020.2
-
能够在保存时 自动重新格式化代码并运行代码清理 ,以及 适用于最近修改或打开的文件 。
-
您可以通过按 Alt+F7 ( 查找符号的用法 )、 Control+Alt+F7 ( 转到符号的用法 )或 Shift+Alt+F7 ( 查找相关实体的用法 )快速定位 解决方案和引用的程序集 中任何符号的用法,结果列表包括 全局搜索/转到类型 、 转到符号 和 转到文件成员 。
-
查看定义 视图中的新功能:查看实现( Ctrl+Alt +中键单击或 Control+Alt+Q )、查看基符号( Shift+Alt+Q )、查看用法( +中键单击)。
-
ReSharper 命令行工具可以作为 .NET Core 全局工具 安装和使用。
-
EditorConfig 对 dotnet_diagnostic 规则 的支持。
-
[RegexPatternAttribute] 之前仅为标记的参数启用了 正则表达式辅助 ,现在也适用于字段和属性。
-
改进的 Blazor 支持
-
单元测试的改进:
-
新的统一测试运行器,支持 .NET 和 .NETCore
-
支持 MSFakes,适用于 NUnit、XUnit 和 MSTest 的 .NET 和 .NETCore 测试(仅限 Windows)
-
支持 TypeMock,适用于 NUnit、XUnit 和 MSTest v2
-
能够从编辑器中的测试 导航到其所在的测试会话 。
-
-
反编译器:支持表达式体成员、throw 表达式、默认参数和命名参数。
-
反编译器:
NullablePublicOnlyAttribute支持。 -
C++ 中的新功能:
-
-
引入了对 Unreal Engine 项目模型的支持,使 ReSharper C++ 能更好地理解不同的解决方案配置以及插件和模块引用。
-
引擎源代码中的符号现在被视为库符号,默认情况下在搜索结果中隐藏。
-
根据 Unreal Engine 编码标准,对检查严重性、代码生成操作、文档模板和 include 指令的自动导入进行了多项更新。
-
如果项目文件过期,提醒在 Unreal 编辑器中刷新 Visual Studio 项目。
-
捆绑的字典补充了常见游戏缩写和首字母缩略词列表。
-
-
C++/CLI :
-
转到声明 适用于未解析的标识符。
-
突出显示插入符号下元素的用法。
-
突出显示预处理器指令中的拼写错误。
-
文件结构 :预处理器指令现在默认隐藏。
-
新的检查:可以使用结构化绑定,不能在本机类型上使用
gcnew,不能在托管类型上使用new,final说明符不能用于托管类,重写函数没有virtual说明符,可能需要重新生成项目文件。 -
Clang-tidy 快速修复的简要预览。
-
改进了对类类型值在
constexpr函数评估中的支持。 -
代码补全 :当需要
std::function参数时,新的补全项可以插入自动生成的 lambda 参数。 如果类未包含在当前文件中,导入补全将建议添加前向声明的新选项。 -
新的设置:对齐的 ?: 运算符缩进,在多行 // 注释中按 Enter 插入 //,仅将带引号的 include 视为潜在的主头文件。
-
新的 文件模板 :源文件和头文件。
-
ReSharper/ReSharper C++ 2020.1
-
可空引用类型支持:
-
新的检查和快速修复,用于检测并使用异步方法重载(如果可用)而不是同步方法。
-
可配置的代码风格,用于 尾随逗号 ,适用于具有多个项和类似结构(对象、数组和集合初始化器,以及枚举和 switch 表达式)的声明。
-
转到声明 与中键配合使用。
-
您可以通过在 转到文件 列表中选定的结果上按 Ctrl+Enter 来定位解决方案资源管理器中的文件。
-
本地化管理器 的改进:能够编辑、导出和导入注释,以及若干用户体验和性能修复。
-
反编译器:改进了元组组件名称的支持。
-
反编译器:可空引用类型(在声明中,而非方法体中)。
-
反编译器:默认接口成员。
-
反编译器:针对自动实现属性和类似字段事件的字段定向属性。
-
IL 查看器:支持接口实现和泛型参数约束中的自定义属性(例如,编译器可以将
NullableAttribute和TupleElementNamesAttribute应用于这些实体)。 -
ReSharper C++ 2020.1 的新功能:
-
C++20:
-
约束类型占位符和简化函数模板
-
使用枚举声明和 引入使用枚举 重构
-
在命名和重新定义检查中支持概念
-
-
新的检查:未使用的 lambda 捕获,使用函数式风格的强制转换代替 C++ 强制转换,
reinterpret_cast代替static_cast进行 void 类型转换,在 lambda 中使用显式模板参数 -
新的设置“区分大小写排序”和“按目录分组头文件”用于 头文件排序
-
代码补全改进:补全属性名称;在
goto语句中补全时显示标签名称; 后缀补全 用于std::forward;从重写函数补全对基函数的调用时会插入转发调用,将所有函数参数传递给基函数;宏定义中的补全; 完成语句 -
输入辅助在键入相应键后用括号/方括号/引号包围选定代码
-
“添加
[[maybe_unused]]”快速修复 -
上下文操作将
UNREFERENCED_PARAMETER替换为[[maybe_unused]]属性 -
转到...操作 中的过滤器,用于概念和命名空间
-
生成 中的选项,用于向生成的 getter 和构造函数添加
[[nodiscard]]属性 -
类型名称提示 在依赖代码中默认启用
-
“生成模拟函数”支持 GTest 1.10 的
MOCK_METHOD宏 -
参数名称提示 在依赖函数调用中
-
关于未满足约束的更好的错误消息
-
单元测试设置使用文件而不是命名管道(当命名管道被防病毒软件阻止时很有用)
-
更改签名 接受无法解析的类型
-
针对 重新排列代码 操作的重大改进
-
Clang-tidy 已更新为 LLVM 10,新增检查和诊断
-
转到声明 适用于注释中的符号名称
-
文件结构 的改进:图标现在有类成员可访问性和虚拟/静态/纯说明符的指示器,类成员的新继承图标(当函数重写/实现/隐藏基函数时显示)
-
用于 文档 操作的专用快捷键 Control+/
-
Unreal Engine 4 支持 的改进:
-
重命名 UE4 头文件时也会重命名相应的
*.generated.h #include -
重命名 UE4 类型时也会重命名相应的头文件和源文件(带有
A、F、E前缀) -
SpatialOS 框架支持
-
调整 UE4 解决方案的默认设置以更好地匹配其编码指南(避免建议
auto关键字) -
更好地支持 UE4 命名约定:控制台变量和日志类别的命名规则
-
转到...操作 显示包含 UE4 枚举的命名空间
-
-
ReSharper/ReSharper C++ 2019.3
-
改进的 C# 8 支持,包括:
notnull约束、目标类型switch表达式、对default interface方法的早期支持、新提示“局部函数可以是静态的”,以及新快速修复“添加缺失的分支”。 -
类型名称提示 用于 lambda 的参数、
var(包括模式匹配和元组解构)、LINQ 语句中的范围变量以及方法调用链中行尾。 针对函数中缺少返回值和 switch 语句中缺少 break 的提示 -
Xamarin 支持修复:支持
x:DataType和Class属性。 -
在 switch 表达式中生成类型模式
-
选项使用
System.HashCode实现GetHashCode,并在生成 相等成员 或 相等比较器 时考虑可空性。 -
参数信息 支持元组。
-
从 EditorConfig 读取和导出 C# 命名设置 。
-
查找依赖代码 现在适用于 NuGet 引用,并可在整个解决方案中运行。 此外,查找结果中的依赖代码有新的过滤器。
-
元组、解构和丢弃的反编译。
-
新的 代码检查 和 快速修复 。 其中包括针对 NUnit 测试的内容。 “类型或成员从未使用”被拆分为两个单独的检查——针对类型和针对成员。
-
单元测试资源管理器窗口 和 单元测试会话窗口 中的新的分组和过滤选项。
-
语法高亮 中不同类型标识符的更多颜色。
-
针对 使用 'var' 与显式类型 的代码风格的更详细配置。
-
ReSharper 命令行工具 可以在 Linux 和 macOS 上运行。
-
ReSharper C++ 2019.3 的新功能:
-
C++20:初步支持 C++20 概念, ADL 和不可见的函数模板 , 从括号括起的值列表初始化聚合 。
-
Clang-tidy 集成 的改进:
-
捆绑的 clang-tidy 二进制文件已更新至版本 9,新增了许多检查。 此外,它不再阻止对源文件的修改。
-
现在可以从检查菜单中禁用 Clang 警告。
-
新增设置以使用特定的 clang-tidy 配置文件(而不是指定配置为字符串的设置)。
-
-
格式化器改进:将格式化选项导出到 .clang-format 文件,选项包括在抽象声明中
ptr和ref之前的空格。 -
得益于代码高亮引擎的一些改进,现在重新高亮的速度更快(在函数体更改后,仅重新分析函数体本身)。
-
新的快速修复,帮助将变量添加到 lambda 捕获列表。
-
Unreal Engine 4 支持 的改进:
-
若干 实时模板 已重命名以匹配相应的关键字(例如,
cls重命名为class,str重命名为struct)。 -
转到文件成员 的若干更新:对话框现在即时显示,而无需等待文件完全分析;如果文件同时包含函数的声明和定义,则对话框中仅显示一次该函数。
-
现在可以从括号封闭的初始化列表的起始括号导航到聚合类。
-
新增设置以在
%PATH%中找到要使用的 clang-tidy 可执行文件。 -
内嵌提示 的改进:自动变量、结构化绑定、函数和 lambda 返回类型的类型名称提示。 在依赖代码中,类型名称提示默认被禁用。
-
ReSharper/ReSharper C++ 2019.2
-
改进了对 C# 8 的支持,包括:索引和范围的最新更改,例如可索引和可范围的类型,以及非托管泛型结构。
-
转到文件成员 现在还会在当前文档中搜索文本匹配项。
-
能够在 转到文本 的搜索结果中过滤掉注释中的出现项。
-
解决方案模型直接从 项目/解决方案文件 中读取。
-
IL 查看器窗口 中的带关键字描述的工具提示。
-
Assembly Explorer 窗口 中的 Win32 资源子树。
-
ReSharper C++ 2019.2 的新功能:
ReSharper/ReSharper C++ 2019.1
-
支持 Visual Studio 2019。
-
支持 C# 8,包括:范围和从末尾的索引表达式、空合并赋值、switch 表达式、switch 语句中的元组表达式、静态局部函数、对使用 var 声明的初步支持、可空引用类型(仅解析)、异步流、异步可释放。
-
转到文本 现在会在解决方案中的所有文本文件中搜索。
-
优化引用 现在适用于 SDK 项目。
-
提取方法重构 支持在 UI 中重命名引入的参数。
-
嵌入提示 的改进:属性用法提示、针对 StringFormatMethod 调用的特殊提示(默认禁用)、更灵活的配置、列选择时自动隐藏、用于显示/隐藏提示的键盘快捷键 Control+Alt+Shift+5 。
-
针对 代码注解 和 可空性分析 的新功能:当插入符号位于泛型集合类型的参数中时,输入辅助会插入
ItemNotNull/ItemCanBeNull属性,Lazy<T>或Task<T>;输入辅助支持 C# 8 可空引用类型,允许插入或移除可空标记?;方法声明上的代码注解提示。 -
更快的导航和搜索:“即时”类型搜索、“随处搜索”和“转到类型”更快。
-
格式设置和代码清理改进:默认启用 格式检查 以检测子语句缩进,格式设置检测现在在后台运行, 导出设置到 EditorConfig ,新增选项可在 重新排列命名空间导入 时关闭将
System.*与Windows.*命名空间置于首位的设置,现在与 Visual Studio 和 StyleCop 兼容 -
输入辅助 支持 上的取消缩进,将插入符号返回到当前缩进大小的倍数或代码结构中预期的缩进位置。
-
ReSharper C++ 2019.2 的新功能:
-
性能改进:更快的索引速度、更小的内存占用、索引和代码分析期间的内存流量减少、大型解决方案中从缓存打开解决方案的速度更快。
-
新的语言功能:C++20 泛型 lambda 的熟悉模板语法,C++17 十六进制浮点字面量,替代运算符表示法,对 C++20 合约的基本支持,以及三向比较运算符。
-
配置 命名规则 时可用的新实体类型。
-
Unreal Engine 4 支持:
-
使用默认设置的初始索引速度比 2018.3 快 6 倍,索引后使用的托管内存减少 2 倍,活动对象减少 3 倍。
-
对 RPC 函数的感知:在它们之间导航,生成实现和输入补全。
-
UE4 选项页面提供设置,允许关闭引擎代码/第三方代码/插件的索引。
-
初步支持由 Unreal Engine 编码标准定义的命名约定。
-
默认情况下, Clang-Tidy 集成 在 Unreal Engine 4 解决方案中被禁用。
-
-
单元测试的新功能:支持 doctest 单元测试框架 ,支持 Catch 2.7(
TEMPLATE_PRODUCT_TEST_CASE测试声明),支持 Google Test 中的GTEST_SKIP(),用户提供的环境字符串中扩展了用%包裹的环境变量名称。 -
格式化设置 的改进:支持 C 中的 K&R 风格声明,提供围绕引用和指针的空格的单独格式化选项,宏调用的格式化类似于函数调用。
-
导航和搜索的改进:链式 “转到”搜索 现在快了几倍,支持 包含基类成员 选项在 转到文件成员 中,“转到文件成员”、基类和派生类搜索现在在索引期间也能工作。
-
文档注释的更多功能:在 XML 文档注释中重命名参数名称,输入辅助会在新行自动插入
///。 -
Clang-Tidy 集成 的改进:单独的 clang-tidy 选项页面( ),设置以利用用户提供的 clang-tidy 二进制文件。
-
ReSharper/ReSharper C++ 2018.3
-
支持 VB.NET 15.3 和 15.5 功能:命名元组推断、前导十六进制/二进制/八进制分隔符、非尾随命名参数。
-
引入参数重构 现在也适用于局部函数。
-
外部注解 可以存储在 VCS 下,在解决方案或项目文件旁边的 ExternalAnnotations 文件夹中。
-
能够通过 转到操作 Control+Shift+A 打开选项页面。
-
配置 转到声明的使用感知行为 的选项。
-
集成反编译器的改进:局部函数反编译;模式匹配反编译:const 模式、类型模式、case 子句中的类型模式(支持谓词和丢弃)。
-
本地化协助 在 ASP.NET Core 应用程序中的支持。
-
针对 InspectCode 命令行工具 命令行工具的多线程模式。
-
TypeScript 3.0 语法支持:未知类型(仅解析)、元组类型中的可选元素、元组类型中的剩余元素、带元组类型的剩余参数、带元组类型的扩展表达式(无解析)、泛型剩余参数。
-
ReSharper C++ 2018.3 的新功能:
-
预定义的 命名风格 方案(STL、Google、LLVM、CamelCase、Microsoft)。
-
性能改进:改进了索引期间的内存流量,多线程缓存加载。
-
导航改进: 转到声明 在非依赖
decltype说明符和 lambda 上更精确,甚至可以在初始索引期间使用它。 -
重构改进: 更改签名重构 提供选项以使函数
constexpr/const/noexcept并更改 ref 限定符。 -
代码分析改进:模板代码中的 错误诊断 显著改进,提供有关失败的
enable_if条件、decltype中的格式错误表达式以及缺失的内部类型的额外信息。 -
新的 上下文操作 ,用于生成将枚举转换为字符串的函数,将函数声明中的常规返回类型转换为尾随返回类型,反之亦然,还可以插入使用类模板参数推导推导出的模板参数。
-
代码生成改进: 生成 Getter/Setter 可以创建 C++/CLI 属性, 生成重写成员 可以重写 CLR 属性。
-
针对 Unreal Engine 项目:推迟引擎本身的后台索引以改进初始索引性能,并更好地处理反射宏。
-
在 C++11 中支持的新类型特性
std::has_virtual_destructor以及在 C++/CLI 中支持的新类型特性(__is_interface_class、__is_ref_array、__is_ref_class、__is_value_class、__is_sealed、__is_delegate、__has_finalizer)。 -
C++20 嵌套内联命名空间支持。
-
改进的 C++/CLI 支持。
ReSharper/ReSharper C++ 2018.2
-
支持 C# 7.3,包括 初始化器和查询中的声明表达式 、 元组相等性 、 引用赋值 、 stackalloc 中的数组初始化器、 基于模式的“固定”语句 、 可移动固定缓冲区的索引 ;
unmanaged、System.Delegate和System.Enum约束。 -
集成的 拼写检查引擎 。
-
重新设计了大多数 重构 的用户体验。
-
一个选项,用于为 ReSharper Build 跳过的项目启用 BeforeBuild/AfterBuild 目标和预构建/后构建事件。
-
您可以在 ReSharper 选项 页上指定忽略的文件掩码 Alt+R, O 。
-
随处搜索 现在可以成功解析从 dotTrace 或 Visual Studio 的调用堆栈窗口复制并粘贴的函数签名以进行进一步搜索。
-
格式化器改进:选项包括不在命名空间内缩进、
enum排列的选项、“单行最大元素”选项用于方法签名、方法调用和初始化器。 -
受 StyleCop 规则 影响的设置显示在 文件格式信息窗口 中。
-
与 JSlint、ESLint 和 TSLint 的集成 改进了编辑器中 JavaScript 和 TypeScript 代码的设计时验证。
-
为成员访问以及局部变量、成员和参数提供单独的 内置类型引用样式 。
-
ReSharper C++ 2018.2 的新功能:
-
改进了 C++17,包括折叠表达式、自动非类型模板参数、using 声明中的包扩展、带多个声明符的 using 声明、保证的副本省略、类模板参数推导、带基类的聚合、
std::is_aggregate类型特性、预处理器条件中的__has_include。 -
初步支持即将到来的 C++20,包括协程、指定初始化、功能测试宏、位域的默认成员初始化器。
-
大小和对齐计算考虑了位域大小、
alignas说明符和__decltype(align)属性。 -
改进了 语法高亮 ——为静态类字段和成员函数提供了新的颜色设置。
-
Boost.Test 单元测试中支持预期失败规范。
ReSharper/ReSharper C++ 2018.1
-
完全支持 C#7.2,包括以前版本中缺失的功能:非尾随命名参数、私有受保护访问修饰符、数字字面量中的前导下划线、
in参数、ref readonly返回值和局部变量、readonly struct类型、ref struct类型、conditional ref运算符。 -
一种无需 解决方案范围分析 即可检测未使用的非公共成员的新方法——ReSharper 选项 页面上的 当解决方案范围分析关闭时,显示未使用的非 private 类型成员 选项 Alt+R, O 。
-
代码清理 现在可以通过免费的 CleanupCode 命令行工具执行。
-
值跟踪 支持一些新的 C# 功能:返回引用的方法、模式匹配和 out 变量。
-
单元测试的新筛选器
/u在 随处搜索 Control+N 中(ReSharper 最强大的搜索操作,之前称为 转到所有内容 )。 -
EditorConfig 属性 ,用于 代码语法样式 和 代码检查严重性级别 。
-
初步支持 StyleCop 。
-
输入辅助改进:如果您在行注释中间按下 ,ReSharper 会在新行文本前自动添加两个斜杠
//,以避免生成不可编译的文本。 -
支持 NUnit 3.10.1。
-
ReSharper C++ 2018.1 的新功能(扩展版本也可在 专用博客文章 中找到):
-
步骤筛选器 。
-
包含分析器 。
-
Clang-Tidy 集成 更新:捆绑的 Clang-Tidy 已更新至版本 6.0,扩展了 可用检查列表 ,并且现在可以通过注释 抑制特定的 Clang-Tidy 检查 。
-
现在支持 #include_next 预处理器指令,以更好地兼容实现此 GNU 扩展的编译器。
-
C++ 文件中的输入辅助在 时会自动删除尾随空格,以保持代码清洁,无冗余空格。
-
如果您选择一个表达式并打开 快速文档窗口 ,该窗口会显示有关所选表达式的各种信息,例如其类型、值和值类别。
-
ReSharper/ReSharper C++ 2017.3
-
C#、VB.NET 和 C++ 中的调试辅助功能: 内联值 、 可搜索的 DataTips 和 断点导航 。
-
性能指南( )——一个选项页面,帮助您检查并快速修复影响性能的 ReSharper 和 Visual Studio 首选项 。
-
新的格式化器功能:
-
通过注释 或 EditorConfig 文件 启用/禁用格式化器或更改格式化器设置。
-
能够 使用不同的换行样式重新格式化代码 (换行或截断长行、紧凑地重新格式化选择等)。
-
一个选项,用于将相似的代码对齐在列中。
-
选项包括在复杂语句之前或之后插入空行;取消缩进二元运算符、点和逗号;选择嵌套三元表达式样式;以及更多。
-
-
生成解构器 操作和 C# 7 元组的导航功能。
-
改进的 提取方法重构 现在可以提取局部函数、在提取的方法中返回值元组、处理表达式体成员等。
-
新的输入辅助: 在 Enter 上的多行块注释 、C# 中的链式方法调用。
-
改进的待办事项现在可以 链接到外部 URL 。
-
能够 从调用跟踪结果中隐藏条目 。
-
内置反编译器可以从本地 NuGet 包缓存 加载程序集 ,并以可读的 XML 文件 显示程序集 PDB 内容 。
-
ReSharper C++ 2017.3 的新功能(扩展版本也可在 专用博客文章 中找到):
-
近千个新的 Clang 代码检查 : 611 个 Clang 诊断 、 78 个 Clang 静态分析器检查 和 202 个 Clang-Tidy 检查 。
-
新的快速修复和上下文操作。
-
代码分析:自动函数和 lambda 的返回类型推导、改进了对显式模板实例化的支持、支持 原生 C++ 事件处理 MS 扩展 。
-
C++17 功能支持:结构化绑定声明、内联变量、
constexprlambda。 -
Catch2 支持(Catch 单元测试框架的新版本)。
-
ReSharper/ReSharper C++ 2017.2
-
支持 Visual Studio 2017 15.3 中的 .NET Core 2.0 项目。
-
通过名称 导航 的命令可以处理 CamelCased 标识符中的单词顺序错误以及拼写错误。 它们还支持在引号内进行精确匹配查询。
-
C# 7.1 支持:推断的值元组组件名称、默认字面量、异步 Main。
-
转到附近文件 ——一个新的导航命令。
-
新的输入辅助功能: 添加 NotNull/CanBeNull 注解 和 将表达式体成员转换为块体成员 。
-
一个新选项,用于在 实现接口 时使仅有 get 的属性可变。
-
一个新选项,用于在 生成类型构造函数 时使参数可选。
-
新的选项页面( ),允许您自定义 为异常和断言生成空检查例程 。
-
XML 在 语言注入 中受支持。
-
快速文档 Control+Q 以及对范围 NPM 包的补全现在可用于项目配置文件( project.json 、 package.json 和 bower.json )。
-
内置反编译器的改进:能够检索程序集的原始源代码,该源代码通过 便携式 PDB 使用 Source Link 引用;如果任何 导航和搜索 命令在单个方法中产生多个匹配项,ReSharper 现在会在搜索结果中显示所有匹配项。
-
交互式教程( ),帮助您开始使用 ReSharper 的功能或快速掌握新版本中的功能。
-
改进的 TypeScript/JavaScript 支持包括:
-
ReSharper C++ 2017.2 的新功能(扩展版本也可在 专用博客文章 中找到):