Rider 2019.3′最新变化

Rider 2019.3 提供了出色的 T4 模板支持、适用于 .NET Core 的跨平台分析器,以及适用于 Unity 的跨平台测试覆盖。 该调试器启动速度更快,支持 Docker Compose,版本控制支持和 Xamarin 支持在整体上得到了增强。

支持 T4 模板

支持 T4 模板

大家之前要求我们支持 T4 文本模板,我们现在已提供此支持! T4 模板支持基于我们自己的生成器并作为预安装插件提供,现已发布。 

现在,您可以在 Rider 中轻松地执行、处理和调试所有 T4 模板。 我们希望您喜欢新的编辑器内辅助,包括:

  • 代码块中功能丰富的 C# 支持,包括代码高亮显示、导航、代码补全、输入辅助、重构、上下文操作、检查、格式化等。
  • 支持 T4 特定的功能,如检查、输入辅助、折叠和大括号匹配。
  • 广泛支持 include 指令,并尽可能正确地解析 C# 代码。
  • 支持各种类型的指令,包括检查、快速修复、代码高亮显示、导航等。

所有功能均适用于 WindowsmacOSLinux

适用于 .NET Core 的跨平台分析器

适用于 .NET Core 的跨平台分析器

Rider 2019.1 将性能分析器带到 macOS 和 Linux 上,但仅同时支持 Mono 和 Unity Mono 应用程序。 在此版本中,我们向前迈出了一大步,现在可以使用嵌入式 dotTrace 插件在 Linux 和 macOS 上分析 .NET Core 应用程序。 这意味着您可以在 Windows、macOS 和 Linux 上分析任何 .NET 应用程序。

请注意,仅完全支持针对 .NET Core 3.1 的项目。 由于一些 .NET Core 限制,在极少数情况下,分析针对 .NET Core 3.0 或更早版本的项目会导致被分析的应用程序挂起或崩溃。

Unity 的测试覆盖率

Unity 的测试覆盖率

我们非常享受改进 Unity 脚本编写体验,并致力于在每个版本中提供出色的改进。 这一次,我们将引入跨平台测试覆盖并持续测试您的 Unity Edit 模式测试!

以下是一些激动人心的新功能:

  • Unit Test 运行程序中现在支持“播放”模式单元测试。
  • Rider 支持 UIElements,包括语法高亮显示、代码补全以及 UXMLUSS 文件的架构验证。
  • .asmdef 文件支持回归!
  • 列出调试流程时,会为 Unity 编辑器显示项目名称。
  • 我们改进了项目最初加载时解析资产的性能。
  • Rider 的日志查看器工具窗口中支持“Clear on play”。
  • Rider 建议 C# 8 功能时出现的令人讨厌的错误现已修复。
  • 我们修复了各种极端情况,能够在重构时将 .meta 文件保持为最新状态。

这些只是部分亮点。 像以前一样,此版本中还有许多其他较小的修复和功能。 在更改日志中查看完整列表!

更好的性能

更好的性能

Rider 2019.3 自动包含了在我们最近的质量马拉松中添加到 IntelliJ 平台的所有性能优化。 以下只是部分主要改进:启动性能大幅改进,鼠标滚动更顺滑,而且我们还消除了许多 UI 冻结。 如果您感兴趣,可以阅读 IntelliJ IDEA 博客上与性能改进相关的更多内容。

Docker Compose 支持扩展到调试器

Docker Compose 支持扩展到调试器

在 2018.2 版本中,我们在调试器中引入了 Docker 支持,这样您就可以在 Rider 中调试从 Dockerfile 构建的容器。 不过,当时并不支持调试使用 Docker Compose创建的容器 (docker-compose.yml)。

现在,无需再等待了! Docker Compose 支持现在终于扩展到调试器了! 现在,只需点击一下,即可调试多容器 Docker 应用程序。

Edit & Continue 变得更好

编辑和继续 (Edit & Continue) 变得更好 仅限 Windows

Edit & Continue 现在可以将更改应用到运行(未挂起)的应用程序,而且该应用程序无需在断点处停止。 通过点击编辑器标签页顶部工具提示上的“Apply Changes”链接,您可以随时应用更改。 此外,转到 Settings | Build, Execution, Deployment | Debugger | Editing during debug,通过 Step/Resume/Jump to Statement 操作,您可以禁用 Edit & Continue 更改的自动应用。

请注意,仍然只在 Windows 上支持 Edit & Continue

调试器改进

调试器改进

我们对调试器的其他部分进行了许多更改。 首先,Breakpoints 视图中的 Exceptions 树获得大更新:

  • 搜索现在可以在折叠节点上运行。
  • Exceptions 按照类型 (User/System) 和命名空间分组。
  • 主节点有一个新名称,为“CLR Exceptions”。

其次,远程调试已获得多处更新:

  • 现在使用远程调试时,出现的错误的说明和通知变得更好。
  • 如果未指定远程调试的密码或口令短语,在您连接到远程服务器时系统会向您提示一个密码或口令短语。

最后:

  • 许多调试器操作都有了新名称,可以更好地解释它们的作用。
  • ““Pin to top””功能支持递归计算。
  • 现在可以使用““Jump to Type Source””操作。
  • 用于异常端点的““Just my code””选项现在能够更好地在 Mono 上运行。
更新的 VCS 支持

更新的 VCS 支持

我们已开始试验使用版本控制系统(如 Git)时的用户界面和用户体验。 在此版本中,新的实时差异预览可以直接在代码编辑器标签页中打开,提供更好的用户体验。

我们还引入了新的 Commit 工具窗口,默认显示在左侧,这样可以为更改列表、提交说明等留出更多的垂直空间。

如果您在首次启动 Rider 2019.3 时找不到 Version Control 标签页,请不要担心;它仍然在,新名称是 Repository

而且,我们还改进了“Compare with Current”视图,重新设计了 Clone 对话框,可以推送非活动分支。

要了解更多信息,请参阅博文提交的新方法! 在 Rider 2019.3 中引入 Commit 和 Repository 工具窗口

AWS Toolkit 插件登陆 Rider

AWS Toolkit 插件登陆 Rider

在此发布周期中,我们投入了很大的精力为 .NET 开发者优化 AWS Toolkit 插件并使它兼容 Rider。

  • 使用预定义项目模板创建新的 AWS 无服务器应用程序
  • 您可以在本地和远程创建、运行并调试 AWS Lambda。 此外,使用装订区域图标可以直接从编辑器执行所有操作。
  • 您可以将无服务器应用部署到 AWS。
  • Cloud Debugging 支持已发布! 您可以直接在云中的远程容器内通过 AWS Fargate 调试 Amazon ECS 上运行的云 .NET Core 应用程序,无需任何本地模拟。
  • 此插件适用于 Rider v2019.2 和 v2019.3。

安装 AWS Toolkit for Rider 插件后,您可以立即开始使用 AWS 无服务器应用程序。

改进了 Xamarin 支持

改进了 Xamarin 支持

我们继续将 Rider 打造成为一款适用于 Xamarin 开发的出色 IDE,并针对 Xamarin Android 和 Xamarin iOS 做出了一些有用的改进:

  • 得益于集成的 JetBrains AppCode 组件,Apple 设备和模拟器现在可以更好地在 Mac 上使用。
  • 您可以在工具栏上找到连接的 Apple 设备的列表。
  • 我们现在支持 mtouch(适用于 iOS 的 Mono Compiler)设备构建。
  • “Publish Android APK”适用于 Xamarin Android 项目(在上下文菜单中为项目搜索“Archive or Publish”操作)。
  • 您可以在 Project Properties 中编辑 Android 特定的项目属性。

而且,我们已经忘记了 Xamarin Forms 支持,其中有几个重要的修复,如 x:DataTypeClass 特性支持。

更好的 C# 8 支持

更好的 C# 8 支持

新的 Rider 版本可以更好地处理 C# 8。 现在包括:

  • 更好地理解可空引用类型,包括对 notnull 约束的支持。
  • 目标类型 switch 表达式。
  • 对默认接口方法的早期支持。
  • 新提示 Local function can be static 以及随附的快速修复。
  • 新快速修复,可以在解决方案的文件、一个项目或所有项目中启用 nullable 注释和警告。
  • 新快速修复,可以将 EnumeratorCancellation 特性添加到 async 迭代器的 CancellationToken 参数中。

此外,代码检查 Type or type member is never used 已拆分为两个单独的选项,一个用于类型(Type is never used),另一个用于类型成员(Type member is never used)。

代码生成

代码生成

Generate 操作可以更好地理解 C# 8 并通过以下途径帮助您学习:

  • 新快速修复 Add missing arms,用于详细地检查枚举值。
  • 新快速修复和上下文操作,用于在 switch 表达式中生成类型模式。
  • 生成相等/关系成员/比较时会考虑可空性

另外,还有一个新选项,可以在为 C# 和 VB.NET 生成相等成员或相等比较时将 System.HashCode 用于实现 GetHashCode,这样会使代码更加整洁。

类型名称提示

类型名称提示

我们希望您喜欢 Rider 2019.1 版本中引入的 Parameter Name 和 Code Annotations 提示。 在此版本中我们进一步扩展,准备为您提供 Type Name 提示。 它们可用于:

  • lambda 的参数。
  • 所有 var 用例,包括模式匹配和元组析构。
  • LINQ 语句中的范围变量
  • 方法调用链中的最后一行。
导航和查找用例

导航和查找用例

好多人都想知道我们的代码中是否使用了特定的引用。 长久以来,您可以在引用上运行 Find dependent code 操作来查找引用中出现类型或类型成员的所有位置。 不过,仍然有一些限制。 在此版本中,我们消除了许多限制:Find dependent code 适用于 NuGet 引用,并且可对整个解决方案(而不是仅仅一个项目)运行!

现在,Rider 当然会提供更多功能:

  • Quick definition 叠加工具提示适用于代码编辑器中的任何符号,让您能够快速检查符号的定义,而无需离开当前上下文。
  • Consuming API 扩展了“Navigate to”操作,如果您想要列出在函数中接收特定类型对象的所有方法,这些操作会对您有所帮助。
  • Find dependent codeFind results 窗口添加了新的筛选器。
  • 您现在可以导航到具有源符号包的 NuGet 包的外部源。
代码样式

代码样式

在此版本中,我们还提供了另外一个期待已久的请求。 C# 命名设置现在支持从 EditorConfig 读取/导出到 <0>EditorConfig

除了这项重大更改外,还有一些小的更改,让您能够更好地控制代码样式:

  • 对于仅在初始值设定项表达式类型明显时想要使用“var”(而不是显式类型)的用户,Rider 现在可以检测更多“明显”用例。 还有一个“兼容性”模式,用于匹配 Roslyn 行为。
  • 有一个新的代码样式选项,与 StyleCop 和 Roslyn 兼容,用于添加括号,以便仅针对一组运算符(嵌套同一组其他运算符)阐明过程。 例如,如果您不记得 && 还是 || 优先,此选项将帮助您利用括号阐明。
  • Comment Code 现在默认将缩进添加到注释。 “Place comments at first column when commenting out code”有一个新设置,您可以将它关闭。
  • 设置缩进的选项页面现在会在 Autodetect indent size and value 设置为 ON 时显示适当的通知。

还有一个通知工具提示,用于解释 C# 格式化程序选项页面上的 Configure formattingAutodetect formatting 功能。

项目模型改进

Rider 的项目模型现在将您在 Web 语言文件(例如 TypeScript 文件)中进行的任何重构扩展到所有项目文件。 例如,moving a TS class to a separate file 会使用更改更新相应的 .csproj 文件。 我们还改进了 Solution ExplorerNot Built 项目状态的用户体验。

请注意,我们放弃了对 .NET Core 1.* SDK 的支持,因为这些版本已达到支持终止日期。

初始 MongoDB 支持

Rider 添加了一些对 MongoDB 的初始支持(了解详情)。 此外,我们还扩展了 Rider 对 Oracle PL/SQL 调试器的数据库支持,并添加了新的检查和警告、内联查询进度指示器以及搜索连接错误的简单方式。

要了解更多详情,请参阅 DataGrip 2019.3 最新变化页面。

Web 开发

Web 开发

像往常一样,我们还为 Web 开发者带来了许多新功能:

  • Vue.js 的代码补全显著改进。
  • Vue.js 项目中的快速文档.
  • 改进了对没有 propType 的 React 组件中属性的支持。
  • Angular 支持增强。
  • 支持 TypeScript 3.7 和 JavaScript/TypeScript 支持中的其他改进。
  • CSS/SASS 支持进行了多项更新。
  • 支持即将发布的 Yarn 2 版本。

要了解更多详情,请参阅 WebStorm 2019.3 最新变化页面。

其他功能

其他功能

  • 我们通过让代码补全感知各种 MSBuild 条目,改进了 Rider 对项目文件(例如 .csproj 文件)的支持。 您也可以为 <TargetFramework>/<TargetFrameworks> 验证使用检查和快速修复。
  • 现在,我们以更智能的方式生成预定义的运行配置,因此,您可以在不进行任何其他移动或调整的情况下运行。 它还有了一个自动生成的适当名称,而不是令人厌烦的“Default”。
  • 现在支持在 launchSettings.json 文件中指定的更多 MSBuild 属性,例如 $(ProjectDir)
  • Parameter Info 弹出窗口现在可用于元组。
  • 删除新行和在新行前退格的输入辅助现在会留出空格来分隔令牌,或者符合格式化规则要求。
更多功能

更多功能

  • 标识符高亮显示进行了完全重新设计:为 C# 使用单独的页面,为预处理程序指令、静态方法、字段使用单独的颜色,等等。
  • 新的 NUnit 检查涵盖组合单元测试和参数化单元测试的各个参数。
  • Expand All 按钮回归左侧工具栏。
  • 在试验模式下发布了新的响应式 TFS 客户端。 要启用此客户端,只需打开 Settings | Version Control | TFVC 并将其启用。 这为“Checking for changes”操作提供了显著的速度提升(在我们的测试中,速度现在加快了大约 100~1000 倍)。 许多操作(例如 Commit 和 History 操作)将在初始发布后移植到新客户端中。