Rider 最新变化

Rider 2023.3 提供了对 .NET 8 SDK 的支持,包括 C# 12 的最新功能。 此更新还带来了运行多个项目的改进体验、预测调试模式,以及轻松创建和浏览单元测试的功能。 Rider 2023.3 还带来了 AI Assistant 的重大更新。

主要更新

AI Assistant

AI Assistant 预览阶段结束 正式版

JetBrains AI Assistant 现已全面推出,搭载大量新功能和改进,助力提高您在 JetBrains IDE 中的工作效率。 Rider 的最新改进包括:

  • 上下文感知 AI 聊天
  • AI 操作更出色的项目感知
  • 多行代码补全
  • 编辑器内代码生成
  • 单元测试生成
  • 文档生成
  • AI 建议重构的 Diff(差异)视图
  • 能够创建自定义提示库

订阅 JetBrains AI Service,在 Rider 中以补充功能的形式使用 AI Assistant。

观看演示

.NET 8 SDK 支持

.NET 8 SDK 支持

Rider 2023.3 正式提供对 .NET 8 SDK 的支持,包括:

  • 更新的项目模板。
  • 创建、运行和调试以新 SDK 为目标的项目。
  • 新的 C# 12 功能,包括主构造函数、拦截器和引用任何类型的别名指令。
  • 对 F# 8 功能(即简写 lambda 表达式、嵌套记录更新、static 接口成员和 let 绑定等)的支持。
  • @ 变量的支持。
  • Support for Identity API endpoints.

运行多个项目

在 Rider 2023.3 中,您可以同时运行和调试多个项目,并对任务执行顺序和条件执行高级控制。

在 Rider 的文档中了解详情。

观看演示

类型依赖关系图

在 Rider 2023.3 中,您可以通过类型依赖关系图探索解决方案中不同类、结构、接口和模块之间的关系和依赖项。

在 Rider 的文档中了解详情。

观看演示

预测调试

预测调试

预测调试是 Rider 新增的高级调试模式,可以预测代码中的潜在问题并向您发出警报,无需执行代码。

在 Rider 的文档中了解详情。

观看演示

创建和浏览单元测试

现在,您可以使用 Rider 为生产代码轻松浏览和创建测试。 在这个版本中,我们还引入了使用 AI Assistant 生成测试的功能。

在 Rider 的文档中了解详情。

观看演示

С# 支持

С#12 支持

在最新版本中,Rider 扩展了其支持的 C# 12 功能列表,即主构造函数、引用任何类型的别名指令、集合表达式、拦截器等。

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

观看演示

针对 Entity Framework 相关问题的检查

针对 Entity Framework 相关代码中可能产生运行时异常的方法的用法,Rider 2023.3 带来了一些新检查。

您可以在这篇博文中了解有关新检查的所有信息。

性能

Rider 2023.3 现在可以识别和促进更多场景,让代码分析服务在被输入中断时可以增量运行。 这项改进特别适合处理大型文件。

Allocation of resources in solution-wide code analysis

借助最新更新,您可以控制分配给解决方案级代码分析的资源量。 您现在可以选择 Low(低)、Moderate(中)和 High(高)模式的资源利用率。

注意,High(高)模式不会干扰编辑器中的输入,也不会降低 IDE 的响应速度。 只有代码分析因代码输入而中断时,它才会逐渐开始增加 CPU 使用率,保持流畅的输入体验。同时,整个解决方案级分析都在后台处理源代码。

其他性能增强

对于具有大量目标类型对象创建的解决方案,例如 SomeType _field = new(),现在可以更快查找类型和构造函数的用法 这项改进也会积极影响重构速度。

我们还修正了一些与处理注入语言相关的问题,这些问题曾经会导致 CPU 使用率增加。

编辑器

改进的嵌入提示 UX

改进的嵌入提示 UX

在 Rider 2023.3 中,您可以右键点击嵌入提示来显示上下文菜单。 您还可以按 Ctrl 并点击,从嵌入提示导航到声明。

URL 路径引用的自动代码补全

URL 路径引用的自动代码补全

我们改进了处理 URL 的代码补全功能。 现在,在需要 URL 路径的位置输入 / 时,IDE 将自动使用服务器端点的 URL 填充代码补全弹出窗口。 操作时,它会考虑应用程序中的可用 API 和附加的 OpenAPI 规范,帮助您更快指定 URL 路径。

UX/UI

用于调试的 Resume(恢复)按钮

用于调试的 Resume(恢复)按钮

如先前的承诺,调试期间,主工具栏中的 Run(运行)按钮已被替换为 Resume(恢复)按钮。

Save as Solution Filter(另存为解决方案筛选器)

Save as Solution Filter(另存为解决方案筛选器)

Rider 2023.3 将允许您快速轻松地创建解决方案筛选器(.slnf 文件)。 使用解决方案筛选器可以帮助您定制 IDE 的 Project(项目)视图,以匹配当前所在的具体上下文,这样可以简化大型复杂项目的管理。 要创建解决方案筛选器,首先在 Solution Explorer 中右键点击解决方案,然后选择 Save as Solution Filter(另存为解决方案筛选器)。

隐藏主工具栏

在默认查看模式下隐藏主工具栏的选项

为了响应大家对新 UI 的反馈,我们实现了在使用 IDE 的默认查看模式时隐藏主工具栏的选项,与旧 UI 相同。

要整理工作区和移除工具栏,首先选择 View | Appearance(视图 | 外观),然后取消选中 Toolbar(工具栏)选项。

Speed Search(快速搜索)快捷键

Speed Search(快速搜索)快捷键

Speed Search(快速搜索)功能允许您在工具窗口和对话框中快速导航,现在可以通过快捷键使用。 将焦点置于树或列表上后,即可从工具窗口的 Options(选项)菜单轻松调用搜索,在 macOS 上按 +F,在 Windows 或 Linux 上按 Ctrl+F,或者直接输入查询。

适用于 macOS 的新产品图标

适用于 macOS 的新产品图标

在 Rider 2023.3 版本中,我们为 macOS 重新设计了 Rider 图标,使其与操作系统的标准样式指南保持一致。

版本控制系统

对 GitLab 代码段的支持

对 GitLab 代码段的支持

为了扩展 Rider 2023.2 版本中引入的 GitLab 集成,我们添加了对 GitLab 代码段的支持。 您现在可以直接在 IDE 中创建公共或私有代码段。

要创建新代码段,首先在编辑器中选择一个代码段(或在 Project(项目)工具窗口中选择文件或文件夹),右键点击所选内容以调用上下文菜单,然后选择 Create Snippet(创建代码段)选项。 随后将出现一个对话框,提示您提供有关代码段的常规信息并定义其隐私设置。

全功能差异查看器

Rider 2023.3 引入了一种改进的更改审查方式。 现在,您可以在单个可滚动框架中查看来自更改集的所有已修改文件,无需逐一查看每个文件。 新的差异查看器与 GitLab、GitHub 和 JetBrains Space 审查兼容。

调试

Modules(模块)视图

新的 Modules(模块)视图可供检查应用使用的动态链接库 (DLL) 和可执行文件。 此视图将显示模块名称、版本、应用程序域、模块路径以及模块符号路径等信息。

Symbols(符号)列列出了调试器为特定模块使用的符号。 您可以右键点击模块行并选择 Load Symbols(加载符号)来管理模块符号。

附加到 Docker 容器内进程

附加到 Docker 容器内进程

从 Rider 2023.3 开始,可以为调试附加到容器内进程。 为此,调用 Attach to Process(附加到进程)对话框,转到 Docker 标签页,然后选择目标容器。 新选项适用于本地环境和 SSH 配置。

游戏开发

Unity

UI Toolkit 支持

使用 UI Toolkit 的工作效率大幅提高!

您可以通过 Find Usages(查找用法)查看 UI 元素在 UXML 文件中的使用位置,按 Ctrl 并点击,从 UXML 文件中的元素导航到 C# 代码。 此外,Rider 还为 C# 查询中的 UI 元素提供了代码补全。

此版本还支持 .tss 主题文件,并包含最新 Unity 2022.3 LTS 版本的所有 USS 属性的最新知识。

着色器变体支持

着色器变体支持

新的可选预览功能可供选择编辑着色器文件时处于有效状态的关键字。 这可以启用不同的预处理程序块,从而允许在文件的先前禁用部分提供丰富的 Rider 编辑功能。

调试器更新

在新的弹出窗口中查看纹理的功能使 Unity 调试更为实用。 我们简化了从编辑器的上下文菜单添加暂停点的操作,并且跟踪点现在也将输出到 Unity 控制台。 Rider 现在也可以在 Attach to Unity Process(附加到 Unity 进程)对话框中正确显示多人虚拟玩家实例。

观看演示

其他更新

还有更多小修正和功能,例如 HLSL 代码中的语义补全、对软件包在线帮助的 URL 以及某些 DOTS 场景的错误警告的修正。 You can see the full list of changes in the changelog.

Unreal Engine

在分析中忽略 PCH 文件的选项

在分析中忽略 PCH 文件的选项

一项重要新功能允许 Rider 仅识别显式包含的文件中的符号,忽略预编译头 (PCH) 文件导入的任何内容。 这让本地构建可以使用 PCH 文件提高编译速度,同时确保 CI 构建服务器的正确性。

小更新

此版本还具有多个较小的修正和更新,解决的问题包括某些文件名未在构建输出中解析为链接、UE 5.3 无法定位,以及 Linux 上的调试器中 FStringTCHAR 类型的显示不正确。

我们还修正了热门 Enhanced UE Documentation 插件的一些问题,包括格式设置和一个阻止标准文档工具提示显示的问题。

Web 开发

针对 TypeScript 的改进

针对 TypeScript 的改进

Rider 2023.3 解决了添加 import type 语句时出现的不一致,并使 verbatimModuleSyntax 更易用。 我们添加了用于在导入类型时配置 TypeScript import type 语句或类型说明符的用法的选项。 我们还为 TypeScript 文件添加了对 package.jsonexports 字段的支持。

改进的 Angular 支持

改进的 Angular 支持

我们在 Angular 模板中改进了对 strictTemplate 类型检查的支持。 我们还支持 v17 中的新控制流语法,以及信号,包括 signalcomputedeffect 等实时模板。 Alt+Enter 也提供了新的快速修复。 例如,您可以从组件模板创建 @Input@Output 属性。

HTTP 客户端

@ 变量的支持

Rider 2023.3 支持使用 @ 符号定义在其他 IDE 中发现的变量。

参阅此页详细了解有关 Web 开发的改进。

F# 支持

F# 8 支持

我们添加了对 F# 8 附带的语言功能的支持。 新增了分析器和快速修复以建议使用较新的语法,例如嵌套记录更新或简写 lambda 表达式。

重写的 F# 项目模型

我们重写了项目模型在 ReSharper 引擎与 F# 编译器服务之间的同步方式,以修正多种问题,例如由于缺少引用或可能的分析冻结而导致的误报错误。 当 F# 项目引用 C# 项目时,它还将提高许多情况下的分析性能。

其他

基于问题报告,我们还对现有分析器和快速修复、代码补全和其他方面做出了较小的改进。 Read the full notes on the F# plugin page.

框架和技术

中央软件包管理的代码补全

中央软件包管理的代码补全

在此版本中,我们为 CPM 文件引入了增强支持,提供针对 NuGet 软件包名称和版本的代码补全功能。 这些文件现在具有与 .csproj 文件相同的支持。 这些更改将帮助开发者更快、更准确地管理软件包引用。 请参阅我们关于中央软件包管理的博文,更清楚地了解这个相对较新的功能。

对无 root 容器的支持

.NET 基础映像现在包含非 root 用户。 Rider 2023.3 将默认使用此用户为面向 .NET 8 的项目生成 Dockerfile。 Debug(调试)和 Fast mode(快速模式)也已得到支持。

Bicep 支持

We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. 它可以转换为 Azure Resource Manager (ARM) 模板,旨在与 Azure 服务紧密集成。 IDE 现在提供代码高亮显示以及通过 Bicep 的语言服务器协议实现的代码补全。

处理数据库

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

  • 重做的导入功能
  • 对通过 BCP 导入/导出表的支持 SQL Server
  • 对新对象的支持 SQL Server

参阅此页详细了解有关处理数据库的改进。

插件

Dynamic Program Analysis

新的 ASP.NET Core 检查

新的 ASP.NET Core 检查

Dynamic Program Analysis 添加了三项针对以 ASP.NET Core 框架为目标的应用程序的新检查。 这些检查会提醒您注意潜在后端性能问题,这些问题可能会降低应用程序的响应速度。

这篇博文中了解详情。

dotTrace dotUltimate

Improved configurations

改进的 Timeline(时间线)分析模式配置

使用 Rider 的内置 dotTrace 分析器时,此版本为 Timeline(时间线)分析模式引入了高级选项。 新选项包括:

  • Sampling rate(采样率)– 让您在所分析应用程序的性能与数据准确性之间找到最佳平衡。 快速采样模式也已获得支持。
  • 适用于原生分配的 Sample allocations every ... (每…KB 对分配采样)– 通过减少收集的数据量(即快照大小)帮助您提高快照分析性能。
  • 适用于原生符号文件的 Download in background(在后台下载)– 在分析会话期间下载符号文件以减少获取快照所需的时间。

dotMemory dotUltimate

  • 现在可以在 Linux 上运行的分析器内导入和分析进程转储
  • 现在,您可以在 Linux 和 macOS 操作系统上运行独立版 dotMemory。

Entity Framework Core UI

Entity Framework Core 命令的 UI 现在可在 JetBrains Rider 中使用。 以下是捆绑插件可以提供协助的一些命令:

  • 创建迁移。
  • 使用所选迁移更新数据库,包括迁移名称的自动补全。
  • 从现有数据库创建 DbContext 基架。
  • 从迁移范围创建 SQL 脚本。

其他

用于识别存在漏洞的 API 用法的新检查

用于识别存在漏洞的 API 用法的新检查 安全

Rider 2023.3 带来了新的安全检查功能,旨在使已发布的漏洞更明显和更易理解。

新检查可识别项目中存在漏洞的 NuGet 软件包,高亮显示代码中使用这些库中存在漏洞的方法的实例。 检测到漏洞后,系统将高亮显示有问题的代码,并提供快速补救措施。 这些操作包括建议更新到较新的软件包版本和提供有关检测到的漏洞的深入信息。