ReSharper Ultimate 2019.3 引入了全新的 Localization Manager 和类型名称提示,并对 C# 8、C++ 20 和 Unreal Engine 提供了更好的支持。 增强了导航、代码样式和单元测试,适用于 ReSharper 和 dotTrace 的 Command Line Tools 现在可以在 Linux 和 macOS 上运行。
可免费试用 30 天
全新的 Localization Manager 可以帮助您高效地处理解决方案中大量的 .resx 文件。 它在一个网格中显示了 .resx 文件中的所有内容,所以您可以查看应用程序或网站本地化的当前状态并快速地找到任何文化中缺失的任何资源值。
您可以:
在 ReSharper | Windows 下或 Solution Explorer 的上下文菜单中找到 Localization Manager。
要了解更多信息,请参阅 Localization Manager 使本地化更简单。
新的 ReSharper 版本可以更好地处理 C# 8。 现在包括:
notnull
约束的支持。 nullable
注释和警告。EnumeratorCancellation
特性添加到 async
迭代器的 CancellationToken
参数中。而且,代码检查“Type or type member is never used”已拆分为两个单独的选项,一个用于类型(“Type is never used”),另一个用于类型成员(“Type member is never used”)。
Generate 操作可以更好地理解 C# 8 并通过以下途径帮助您学习:
Nullability
。另外,还有一个新选项,可以在为 C# 和 VB.NET 生成相等成员或相等比较时将 System.HashCode
用于实现 GetHashCode
,这样会使代码更加整洁。
在此版本中,我们还提供了另外一个期待已久的请求。 C# 命名设置现在支持从 EditorConfig 读取/导出到 <0>EditorConfig0>。
除了这项重大更改外,还有一些小的更改,让您能够更好地控制代码样式:
var
(而不是显式类型)的用户,ReSharper 现在可以检测更多“明显”用例。 还有一个“兼容性”模式,用于匹配 Roslyn 行为。&&
还是 ||
优先,此选项将帮助您利用括号阐明。人们通常会问是否可以在托管在 Linux 上的 CI 上运行 ReSharper Command Line Tools。 很长时间以来,我们的回答都是“不行”。不过,我们已经努力移除所有 Windows 特定的部分,这样我们就能够将所有内容移动到适用于 Linux 和 macOS 的 Mono 运行时。 别担心,它在 Windows 上仍然使用 .NET 框架。
今天,我们很高兴地宣布 ReSharper Command Line Tools 已登陆 Linux 和 macOS! 在非 Windows 操作系统上,您可以放心地使用强大的 ReSharper 代码分析。
我们希望您喜欢 ReSharper 2019.1 中引入的参数名称和代码注解提示。 在此版本中,我们的工作向前推进一步,现在可以向您提供类型名称提示。 它们可用于:
好多人有时都想知道我们的代码中是否使用了特定的引用。 长久以来,可以在引用上运行“Find dependent code”操作来查找引用中出现类型或类型成员的所有位置。 不过,始终都有限制。
从 2019.3 版本开始,我们消除了其中几个限制:
Unit Testing 工具窗口已经相当成熟,可以满足我们的大多数需求。 不过,我们认为还可以添加更多的方法,让您能够自定义单元测试列表的视图,于是我们就这么做了。
标识符高亮显示已完全重新设计。 我们还添加了更多颜色设置,以便提高代码高亮显示的精度(这些设置位于 Tools | Options | Fonts and Colors
下)。 新的颜色设置包括:
C++20 功能齐全,明年将获官方签署,为 C++ 开发者提供一系列期待已久的功能。 ReSharper C++ 2019.3 已支持其中的许多功能,还通过其他分析和洞察增强了这些功能。
首先,ReSharper C++ 现在能够理解聚合可以从带括号的值列表初始化,有时需要使用函数模板执行其他 ADL。
ReSharper C++ 解析器不仅支持概念,还支持 Rename 重构和 Find Usages。 更出色的代码分析可以为您显示概念相关错误的更多详细信息。 例如,如果因为未满足概念要求而导致重载解析失败,您会在工具提示中看到所有详细信息。 而且,在 ReSharper 2019.3 中,我们还为工具提示添加了颜色,可以显示重载解析失败的详细信息。
我们已经发布了一系列 C++20 和 ReSharper C++ 博文,您可以从中了解新语言功能及其在 ReSharper C++ 中的采用情况。
当 ReSharper C++ 检测到您正在开发 Unreal Engine 项目时,它会调整行为来适合 UE4。
UCLASSes
的“新”后缀模板扩展为合适的出厂函数调用(将会在垃圾回收器中注册创建的对象)。 现在可以使用具有相应名称的实时模板来帮助您快速生成 USTRUCT/UCLASS/UENUM/UENUMCLASS
。
Unreal Engine 的智能指针(TSharedPtr、TSharedRef、TWeakPtr、TUniquePtr
)现在由 ReSharper C++ 处理,与 std::shared_ptr/std::unique_ptr
类似。 这表明一些功能(如 Parameter Info、代码分析和后缀代码补全)适用于智能指针。
最后,还对 UE4 项目进行了一些性能改进。 例如,我们在 UE4 编辑器中修复了“Refresh Visual Studio Project”之后的挂起。
命令行分析器终于登陆 macOS 和 Linux。 dotTrace.sh
与它的 Windows 对应项拥有相同的功能,并以 .tar.gz 存档和 NuGet 包的形式分发。
dotCover 2019.3 获得了几项改进:
可免费试用 30 天