Rider 2024.2 最新变化

Rider 2024.2 引入了适用于多种支持语言的全行代码补全、具有文档注释内联呈现的阅读器模式、用于调试的新 Tasks(任务)标签页和任务依赖关系图,以及改进的类成员导航。游戏开发相关更新的亮点包括捆绑的 Godot 插件和增强的 Unreal Engine 调试。此版本还引入了对 .NET 9 Preview SDK 的支持,包括对 C# 13 功能的初步支持。更新的功能集搭载了对 AI Assistant 的改进,具有增强的代码补全和 AI 辅助 VCS 冲突解决等功能。

下载

免费用于非商业用途

主要更新

SLNX 支持

新!2024.2.6

Rider 终于引入了对 Solution File Persistence Model 的支持,该模型也称为解决方案文件的 .slnx 格式,是存储所有解决方案数据的最新的简化方法。借助 Rider,您现在可以直接从 Solution Explorer 无忧地切换到新格式。只需调用解决方案节点的上下文菜单,导航到 Save As…(另存为…),并选择 Save as XML Solution (.slnx)(另存为 XML 解决方案(.slnx))即可。然后,您可以选择通过新建的 .slnx 文件打开解决方案,无缝过渡到新格式。

适用于 C#、С++、JS/TS、CSS 的全行代码补全

Rider 2024.2 引入了对新的代码补全类型的支持:灰色文本单行建议,它可以根据当前文件的上下文补全语句。这些建议由本地运行的语言模型驱动,不会通过互联网发送任何代码。

阅读器模式

Rider 的新阅读器模式将使阅读库和只读文件(包括反编译文件)更加简单。该模式提供了对 C#、С++ 和 F# 文档注释的内联呈现,以及 C# 的虚拟缩进。

Tasks(任务)标签页和任务依赖关系图

Debug(调试)工具窗口现在包含新的 Tasks(任务)标签页。这个标签页提供了 System.Threading.Tasks.TaskValueTask 对象的详细信息,帮助您管理和监控异步操作。

任务能够以表格或图形格式显示。表格视图提供任务状态和元数据,图形视图显示任务依赖项并有助于识别死锁。

改进的类中成员导航

Rider 中的 Navigation(导航)栏已针对 C#、C++、VB 和 F# 语言进行改进。现在,从项目根目录到当前文件的路径延伸到文本光标所在符号。点击链中的任意项(包括类),都会出现一个显示其子节点的下拉弹出窗口。因此只需单击即可直接从弹出窗口导航到类中的任何方法。

游戏开发

JetBrains Rider 的最新更新包含针对游戏开发的精彩改进。以下是一些亮点:

  • 从 Rider 2024.2 开始,Godot 插件以捆绑形式提供。此更新还为语法高亮显示、代码补全、Find Usages(查找用法)和调试引入了 GDScript 支持。
  • Monitoring(监测)工具窗口现在支持 C++ 应用程序、UnityUnreal Engine 项目。
  • Rider 2024.2 还具有改进的 Unreal Engine 调试体验,带来更出色的智能指针和字符串求值、新的 Modules(模块)标签页和增强的错误消息。

直接跳转到游戏开发更新

捆绑的 .NET Aspire 插件

.NET 8 SDK 引入了 .NET Aspire – 处理在 .NET 堆栈上构建分布式应用程序的复杂问题的新方式。为了回应这一创新,JetBrains 提供了新的集成式工具 – 适用于 Rider 的 .NET Aspire 插件。

从此版本开始,.NET Aspire 插件与 Rider 捆绑。插件附带相应的项目模板,您可以在设置新的解决方案时进行选择。

.NET 9 预览 SDK 支持

  • 来自新 SDK 的项目模板的支持。
  • 创建、运行和调试以新 SDK 为目标的项目。
  • 对最新的 C# 13 功能的初步支持,包括新的转义字符、params 修饰符重构和 ref struct 接口。

用户体验

新 UI 成为默认选项

从 Rider 2024.2 开始,我们在 2022.3 版 JetBrains IDE 中首次推出的“新 UI”将成为所有用户的默认选项。

如果您更喜欢 Rider 的旧外观,可以安装相应插件享受经典 UI。

支持带多种选择的项目/解决方案模板参数

某些项目模板包含您可能需要通过多项选择配置的参数。例如,跨平台应用程序模板可能具有针对多种目标操作系统或不同语言区域的选项。为了解决这种情况,Rider 现在支持在 New Solution(新建解决方案)对话框中为给定项目参数选择多个值。

Usages of(用法)弹出窗口的改进 UI

现在,当您希望在代码库中查找类、方法或变量的用法时,通过 Cmd/Ctrl + Click 调用的 Usages of(用法)弹出窗口将提供更简化的外观和多种筛选选项。

改进的 Customize Main Toolbar(自定义主工具栏)对话框

我们重新设计了 Customize Main Toolbar(自定义主工具栏)对话框中 UI 元素的布局和行为,使其更加直观有序。现在,在主工具栏中搜索、添加和删除操作都更加简单。

编辑器

C#、C++、F# 文档注释内联呈现

内联呈现将注释从一大堆混杂着标签的文本变成更美观的格式,并配有链接和代码块。告别凌乱的标签,让所有内容都更加清晰。此功能在任何 C#、C++ 或 F# 文件中均可使用,有助于提升您的阅读体验。

C# 和 C++ 的语义高亮显示

我们添加了对 C# 和 C++ 可选语义高亮显示的支持。这项功能将帮助您通过颜色区分代码中不同的形参和局部变量。您可以在 Settings/Preferences| Editor | Color Scheme | Language Defaults | Semantic Highlighting(设置/偏好设置 | 编辑器 | 配色方案 | 语言默认设置 | 语义高亮显示)中启用或禁用语义高亮显示。

Markdown 文件中的数学语法支持

Rider 现在可以在 Markdown 文件中原生渲染数学表达式。处理 Markdown 时,您可以使用 $ 插入内联数学表达式,使用 $$ 插入包含数学内容的代码块。

粘性行的语言特定设置

现在,您可以更精确地设置粘性行并选择您希望显示这些行的语言。您可以在 Settings/Preferences | Editor | General | Sticky Lines(设置/偏好设置 | 编辑器 | 常规 | 粘性行)中根据自己的偏好定制功能,或者在编辑器中右键点击粘性行调用上下文菜单。

C# 支持

在最新版本中,Rider 加深了对 C# 12 功能的支持,包括主构造函数、增强的集合表达式以及改进的用于数组创建和集合类型转换的上下文操作。此外,Rider 2024.2 引入了对 C# 13 的初步支持,包括 ref struct 接口实现、新的 \e 转义序列和 params 修饰符重构。

本次更新还引入了:

  • 增强的结构体类型相等分析。
  • 用于减少分支结构中的重复的 Extract common code(提取通用代码)检查。
  • ToString() 格式说明符代码补全中的区域性预览。
  • 使用显式类型注解替换脆弱的 C 样式转换的转换表达式分析。

查看这篇博文,深入了解 ReSharper 和 Rider 2024.2 中引入的 C# 支持的最新更新。

F# 支持

F# Interactive(F# 交互窗口)

我们添加了对 F# 脚本调试的支持,并对 F# Interactive(F# 交互窗口)工具窗口做出了多项改进和修正。

扩展成员导入

导入扩展成员现在通过代码补全和相应快速修复获得支持。

新的上下文操作

现在,可以将偏函数应用程序和 F# 8 短 lambda 转换为普通 lambda 表达式。

模式中的名称建议

现在,模式的代码补全即使在复杂模式中也可以根据值类型智能建议名称,基于 Rename(重命名)重构和模式析构操作中使用的相同逻辑。

此处详细了解针对 F# 支持的其他 bug 修正和改进。

AI Assistant

AI Assistant 常规改进

JetBrains AI Assistant 2024.2 引入了增强的代码补全和编辑器内代码生成。AI 聊天现在由 GPT-4o 驱动,并借助文件引用更好地理解上下文。新功能包括终端中用于命令生成的 AI 集成、AI 辅助 VCS 冲突解决,以及文档的可自定义提示。现在,您还可以在 Settings(设置)中指定与 AI 聊天交互的语言。

Dynamic Program Analysis 的 Explain with AI(使用 AI 解释)

Dynamic Program Analysis (DPA) 工具窗口现在提供 Explain with AI(使用 AI 解释)按钮,用于与内存分配和数据库相关的问题。此 AI 驱动功能可以直接在 Dynamic Program Analysis 工具窗口内提供 AI Assistant 对潜在修正的详细解释和建议,帮助您快速理解和解决与内存分配和数据库处理相关的复杂问题。

版本控制系统

更新的 Local History(本地历史记录)对话框

我们对 Local History(本地历史记录)对话框 UI 进行了现代化改进。此外,访问目录时,它现在会在更改列表旁边显示差异视图,使更改更易理解。

增强的 Log(日志)工具窗口用户体验

所有与 Log(日志)工具窗口相关的设置都已合并到一个专属设置页面中,您可以通过 Settings/Preferences | Version Control | Log(设置/偏好设置 | 版本控制 | 日志)或 Log(日志)工具窗口工具栏上的新增下拉菜单访问。此外,您现在还可以将 Git 日志作为编辑器中的标签页打开,从而提供更多的工作空间,并更轻松地浏览提交列表和相关详细信息。此操作可以通过工具窗口工具栏中的相同下拉菜单执行。

游戏开发

Godot

好消息!Godot 插件现在与 Rider 2024.2 捆绑,这样一来,您可以获得对所有主流游戏引擎出色的开箱即用支持。这包括对在 C# 中使用 Godot 的以下支持:Godot 编辑器和游戏的运行和调试配置、InputActionNodePath 字符串字面量的补全、用于查看当前场景和子节点的调试器扩展程序等。

此外,Rider 2024.2 还添加了以下新功能:

GDScript 支持

得益于 Godot 编辑器提供的 LSP 支持,Rider 现在支持编辑 GDScript,具有语法高亮显示、代码补全、Find Usages(查找用法)等功能。它还与社区开发的 GDScript 插件良好集成。如果安装,Godot LSP 用于错误高亮显示,社区插件用于 Find Usages(查找用法)。

GDScript 调试

此版本还引入了对调试 GDScript 的支持。Rider 将生成连接调试器所需的运行配置,然后您可以使用 Rider 所有强大的调试功能来调试 GDScript 游戏。

AI Assistant 集成

Rider 增强的 AI Assistant 能够了解 Godot 项目的上下文。现在,AI Assistant 可以知道您处在 Godot 项目中,并提供适合您的环境的回答。

Unreal Engine

调试器改进

此版本为原生调试器带来了大量更新,对求值进行了大量改进,特别是对于智能指针,字符串、数据断点的相等比较,以及处理优化的代码时。Debug(调试)工具窗口中新增了 Modules(模块)标签页,用于显示调试时加载的所有动态库。连错误消息都更好了!

查看这篇博文深入了解最新变化。

Monitoring(监测)工具窗口

Rider 2024.2 为上一个版本中添加但仅支持 C# 和 .NET 应用程序的 Monitoring(监测)工具窗口引入了额外支持。这可用于监测 CPU 和内存使用情况以及其他性能指标。监视进程将自动对 C++ 应用程序(包括 Unreal 游戏)运行。如需了解详情,请参阅文档

新的检查和代码洞察

此版本包含针对 C++ 和 Unreal 代码的新检查。Rider 将检测 BeginDestroyGetLifetimeReplicatedProps 中对 Super 的缺失调用,并提供 Alt+Enter 快速修复。它还可以识别模板特征,确保结构体具有所需的方法,并在缺失时快速生成。此外,Rider 现在可以识别 Unreal 的颜色类型,并直接通过 Alt+Enter 提供高亮显示和颜色选择器。

全行代码补全

C++ 获得了对 Rider 全行代码补全的支持,此功能使用未连接到云的设备端模型。现在,您可以享受 AI 代码补全的优势,并且不与第三方共享代码。

结构体成员布局信息

这是对上一版本中引入的功能的另一项实用更新,为结构体成员的快速文档工具提示添加了布局信息。将鼠标悬停在成员上,您将看到该字段的大小、对齐以及与包含结构体开头的偏移量。这是真正了解数据布局的绝佳方式。

最后…

当然,幕后还有很多工作正在推进。我们对粘性行进行了一些体验优化更新,包括预处理程序指令和指定的当前访问权限,让您始终知道您的代码是 public 还是 private

此外,还有其他较小的功能和修正,例如对低级测试的支持、重命名头文件时自动重命名 .cpp 文件(或反向操作),以及 Why is Rider suggesting this?(Rider 为什么提出这种建议?)Alt+Enter 菜单操作。

Unity

Monitoring(监测)支持

Rider 2024.1 引入了非常实用的 Monitoring(监测)工具窗口,此工具窗口可以跟踪 CPU 和内存使用情况以及其他性能指标。此版本扩展了工具窗口支持以包含 Unity,因此您可以在附加到 Unity 编辑器时查看 CPU 和内存使用情况。

团结引擎支持

Rider 现在支持 Unity 中国的团结编辑器,功能集与原版 Unity 编辑器的相同。

着色器变体更新

Rider 对着色器变体关键字的支持现在可以与计算着色器配合使用,这样一来,您可以启用和禁用关键字以在预处理程序分支中实现高亮显示。Rider 现在将在着色器上下文微件中显示着色器通道的名称,以便您可以轻松分辨着色器的使用位置。

此版本还包括通常的小型功能和修正,包括在运行 Burst 检查时修正误报的一些更新。

Web 开发

直接运行和调试 TypeScript 文件

现在,运行和调试 TypeScript 文件无需任何额外设置。您可以从不同的入口点执行 TypeScript 文件,包括文件上下文菜单、Run(运行)微件,甚至 Current File(当前文件)配置。

对主流 JS 框架的改进支持

Rider 2024.2 能够为使用基于文件系统的路由的框架解析路径。它可以根据项目的文件系统解析链接路径,为 Next.js、Nuxt、SvelteKit 和 Astro 提供自动补全和导航。还有对新 Svelte 5 代码段和渲染标记的支持。此外,我们还为 Astro 实现了语言服务器协议 (LSP) 支持,并将 Vue LSP 升级到 Vue Language Tools 2,有助于提升代码补全和整体开发者体验。

如需更多详细信息,请访问 WebStorm 最新变化页面。

使用数据库

Rider 2024.2 在数据库处理方面的最显著改进包括:

  • 脚本化加载程序:使用自定义脚本化加载程序从 Excel、JSON、Parquet 和 shapefile 格式导入数据。
  • 浮动工具栏中的相关行:使用表单元的浮动工具栏访问相关行。
  • 地理数据查看器:以 CSV、XLSX 和其他格式探索地理数据。

如需更多详细信息,请访问 DataGrip 最新变化页面。

远程开发

Code With Me (CWM)

在此迭代中,我们对使用 CWM 时的输入体验做出了多重改进。增强包括更出色的代码补全、更无缝的代码编辑、改进的语法高亮显示、优化的实时模板和更强大的 Undo(撤消)功能。 您可以在此处找到更多技术状态更新。

请尝试 CWM,并与我们分享您的体验。

插件

dotTrace

dotUltimate

提升了性能

dotTrace 获得了多项性能改进,包括更快地处理 Call Tree(调用树)和 Hotspots(热点)视图上的时间线快照和数据。

dotMemory

dotUltimate

新视图

内置 dotMemory 插件能够自动分析快照和比较不同 dotMemory 工作区中包含的快照。这需要引入一些额外视图:

  • 自动内存检查:dotMemory 现在具有 Inspections(检查)视图,该视图可以显示多个自动检测到的内存问题。
  • 跨工作区快照比较:现在,您可以比较来自不同分析会话的快照,从而开展更全面的内存分析。

这些功能也在独立版本的 dotMemory 中提供。

改进的实例搜索

我们在 Instances(实例)视图中添加了新的筛选选项:

  • 按字符串值搜索:在筛选器字段中输入任意字符串值,dotMemory 将高亮显示匹配的字符串。这有助于根据内容查找特定字符串实例。
  • 字符串值的正则表达式支持:使用正则表达式进行更高级的搜索。例如,^nAsso.{5,}ID$nAssociatedObjectID.nAssociatedObjectID 一致。
  • 按对象地址搜索:您还可以通过内存地址搜索对象实例。这适用于直接跟踪特定对象。

使用 Sunburst(旭日)图直观呈现 Call Tree(调用树)

现在,Call Tree(调用树)可以显示为 Sunburst(旭日)图,高亮显示分配最多内存的函数。

.NET Watch Run Configuration 插件现已捆绑

从 Rider 2024.2 开始,.NET Watch Run Configuration 插件与 Rider 预打包。这意味着无需从 JetBrains Marketplace 下载 .NET Watch Run Configuration。您可以立即开始在解决方案中利用 dotnet-watch 的强大功能。

要深入了解插件功能,请查看这篇博文

反编译器

常规增强

  • lambda 形参:我们引入了对使用可选和形参数组形参反编译 lambda 的支持,有助于增强反编译代码的可读性和准确性。
  • lambda 上的特性:工具现在提供了改进的 lambda 表达式特性处理,可以确保所有相关元数据都准确反映在反编译的输出中。
  • 受保护程序集:我们引入了指定是否反编译受保护程序集的功能,从而提供更全面的代码探索。

外部源处理

  • 带有 SrcSrv 和 SourceLink 的 PDB:反编译器现在支持从包含 SrcSrv 和 SourceLink 的 PDB 文件导航到源。
  • 预处理程序指令:反编译器现在可以正确识别来自目标框架或相关程序集的可移植 PDB 的预处理程序指令(如 NET6_0_OR_GREATER),确保准确的代码表示。

构建配置检测

Assembly Explorer(程序集资源管理器)工具窗口现在可以检测并显示程序集的构建配置,有助于您更清楚地了解程序集的编译上下文。

其他

切换到 JBR21

我们正在从 JetBrains Runtime 17 (JBR17) 过渡到 JetBrains Runtime 21 (JBR21)。从 Rider 2024.2 开始,所有 IDE 更新都将附带 JBR21,这将提供增强的安全性和性能以及对 Linux 的 Wayland 渲染支持。

捆绑本地化插件

我们现在将中文、韩语和日语本地化包与 IDE 捆绑。