Raider 对 F# 支持的技术细节

  • Pierre-Luc Maheu
  • Rays

2017 年 6 月 5 日

话题:.NETJetBrains语言 & 开发

JetBrains 技术布道师(Developer Evangelist)Marteen Balliauw 最近又发布了一篇文章,介绍了Rider 对 F# 支持的技术细节的文章。相比于InfoQ 对 EAP 发布的简报,文中更详细地介绍了 Rider 的特性,以及下一个版本的计划。

Rider 对 F# 的支持仍处于初级阶段。Balliauw 警告其中不可避免地存在着一些小故障。该版本中包括如下特性:

  • 语法高亮;
  • 代码自动补齐;
  • 导航。

该版本还提供了一些非语言特定的 IDE 特性,例如,源码版本控制、问题追踪集成、JetBrains 的 NuGet 客户端、数据库工具、内置终端以及 REST 客户端等。

强大的搜索功能是 JetBrains IDE 的一个主打功能。对任何地方均可搜索,例如,从搜索转到类型,以及搜索转到文件等特性。

Rider 可用于构建并运行.NET Framework 和 Mono 项目,并支持对项目的调试。在 IDE 提供的 Debug 窗口中,给出了调用堆栈(Call Stack)、变量、观察(Watch)等信息。

该版本支持以.NET Framework 为构建目标。对.Net Core 的支持将在今后的版本中提供。它也支持混合语言解决方案,F# 和 C# 项目可共处于同一解决方案中,并相互引用。但是对跨语言的支持的工作依然在进行中。需明确指出的是,该版本完全支持跨多语言的浏览和代码重构。

对于 ReShaper,一个一直存在并反复被问及的问题就是 ReShaper 是否将支持 F#。Balliauw 解释到,对 F# 的支持正在添加到 ReSharper 的内核中。同时他也指出,在近期将推出的版本中,并未规划对 Visual Studio 的支持:

当前,我们并未规划在 Visual Studio 和 Resharper 中推出该特性。我并没有说永远不会,只是率先在 Rider 中实现对 F# 的完全支持是我们的优先工作重点!

Rider 中对 F# 的支持使用F# 编译器服务(Compiler Service)实现。该库是构建于 F# 编译器之上的,额外提供了一些用于第三方工具的 API。

查看英文原文: Details on F# Support in Rider

.NETJetBrains语言 & 开发