写点什么

JetBrains 宣布 Project Rider:一款 C#跨平台 IDE

  • 2016-02-01
  • 本文字数:2494 字

    阅读完需:约 8 分钟

NDC London 上,JetBrains 发布了一个新项目——跨平台的 C# IDE,它基于 IntelliJ Platform 并使用 ReSharper 技术进行开发。该项目代号为 Project Rider,这款 IDE 包含了大家早已熟悉的来自于 ReSharper 与基于 IntelliJ 的 IDE 的诸多特性,比如说快速修复、检测、智能导航等。虽然 ReSharper 寄生于 Visual Studio 中,但 Project Rider 却是个功能完善、独立的 IDE。

虽然现在的项目还处于早期阶段,但已经包含了如下特性:

导航——智能导航是 JetBrains IDEs 的一个主要特性,Project Rider 当然也不例外。它提供了标准的 Go To Type、Go To File,并且集成了 IntelliJ Platform 的“Search Everywhere”特性,可以转向符号、类型、文件,甚至还可以在设置与动作中进行搜索。

还可以使用 Navigate To 弹出菜单,在类继承体系中查找父类 / 子类等,也可以查找使用的地方,其结果会显示在标准的 IDE 工具窗口中。

编辑——Project Rider 实现了大量的智能编辑特性,从类型辅助(比如说插入花括号与自动格式化)到 Live Templates(包括 ReSharper 10 的 postfix 模板),还提供了快速信息提示与边栏图标,从而可以做到继承导航与上下文动作等。

检查——ReSharper 所支持的大多数检查都会在编辑器中以错误、警告、建议与提示的形式显示出来。这包括对无法识别的符号的红色代码显示与代码问题的下划线高亮显示等等。

Alt+Enter——如果没有 Alt+Enter 支持,那么 JetBrains IDE 就是不完善的,ReSharper 快速修复的大多数菜单项与上下文动作都是可用的。Project Rider 还支持将多个动作应用到整个文件中,并且可以直接修改菜单中检查的严重级别。

重构——Project Rider 提供了有限的重构功能。大多数重构都需要某种形式的用户界面,不过这些界面目前尚未实现。Project Rider 可以重命名符号,并引入或是内联变量,还可以根据 Alt+Enter 来修改代码。

反编译——如果导航到没有源代码的类型,那么 Project Rider 就会帮你进行反编译,结果与 C#代码很类似。

当然了,作为一个标准 IDE,它还包含了其他很多特性:

  • 多种运行时支持。Project Rider 支持.NET Framework 与 Mono,对 CoreCLR 的支持也在进行当中。它可以加载 MSBuild 与 MSBuild 解决方案,以及 DNX 项目。此外,它还包含了用于创建新项目的模板。在创建空项目时,它真的就是空的!
  • 构建、运行与调试。一个 IDE 最为重要的特性之一就是调试,Project Rider 当然也不例外。它可以构建并运行.NET Framework、Mono 与 DNX 项目,并且可以调试.NET 与 Mono 应用,DNX 调试与 CoreCLR 支持正在进行当中。任何构建错误都会显示在构建工具窗口中,调试工具窗口用于显示调用堆栈、变量及观察窗口。
  • 跨平台。就像可以运行并调试多个运行时一样,Project Rider 本身可以在多个平台上运行。它可以在 Windows 与 Mac OS X 上运行,Linux 上也可以,不过还没有进行测试。

工作方式

Project Rider 是个构建在 IntelliJ Platform 之上的独立 IDE,就像 WebStorm、DataGrip 与 JetBrains 的其他 IDE 一样。不过,区别在于相对于在 IntelliJ Platform(运行在 JVM 上)上重新实现 ReSharper 的特性,Project Rider 与 ReSharper 之间是通过非常快速的自定义二进制协议进行通信的。这样,后端依旧是使用 C#编写,运行在.NET 或是 Mono 之上的 ReSharper,而前端则使用 Kotlin 编写,并且调用 IntelliJ Platform 的 APIs。我们后面会在博客中深度介绍其实现细节。

为何还要创建一款 C# IDE?

主要是为广大开发者提供一种选择。我们坚信可以为那些在不同环境下工作的开发者提供优秀的用户体验。那为什么是现在呢?这是因为我们认为现在正是时候,原因如下:

  • 为了让 ReSharper 能够在不同环境下使用(独立于 Visual Studio),我们已经艰苦工作多年了,dotPeek 就是例证。
  • 现在已经有越来越多的开发者在使用非 Windows 平台,我们希望能给予他们所熟知的与 ReSharper 相同的体验。
  • 最后,微软现在正在将其平台与 C#语言向着开源的方向推进,比如说 CoreCLR。

这对于 ReSharper 意味着什么呢?

ReSharper 依旧是 Visual Studio 的最佳扩展,也是我们的龙头产品之一。Project Rider 使用了 ReSharper 则强化了我们对于 ReSharper 的承诺,因为对 ReSharper 的任何更新都不仅会让 ReSharper 受益,Project Rider 也会从中得到巨大的好处。除此之外,我们希望在 Project Rider 上所做的工作反过来能促进 ReSharper 的不断发展。本质上,Project Rider 只会加大我们在 ReSharper 上所付出的努力。

许可模型是怎样的?

虽然现在谈论具体细节还为时尚早,不过其许可模型将会与 JetBrains Toolbox 中的其他产品保持一致。在制订价格时,我们会考虑到可能会出现的诸多使用场景,比如说有人可能想要使用两个工具等等。我们希望尽快制订出价格信息。

路线图

现在已经在通往 1.0 的路上了。我们对于架构非常有信心,并且坚信已经打下了非常好的根基,从而能够实现出 1.0 版本中计划的那些特性。我们已经实现了不少功能,不过还有很多功能亟待实现。我们计划过一阵儿开放一个私有的 EAP,并且截止到 2 月底。在我们的博客与 Twitter 上会提供注册表单。在这个私有 EAP 之后,我们将会转向公开 EAP。到底什么时候开放公开 EAP 取决于早期测试者所提交的反馈信息。我们的目标是在今年秋季发布正式版本。我们对于 Project Rider 感到非常兴奋,并且希望你能与我们一同分享其中的喜悦之情。如果有任何问题,请随时提出来。不要忘记关注我们的 Twitter 账号 @JetBrainsRider 以了解未来的更新信息!相信 Project Rider 将会给广大 C#开发者带来一缕清风。根据 JetBrains 以往的产品风格与特性,我们有理由相信这款新的 IDE 也一定不会让大家失望。

JetBrains 是一家来自于捷克的软件开发公司,该公司位于捷克的布拉格。JetBrains 以各种优秀的开发工具而闻名,比如说 Intellij IDEA、WebStorm、PyCharm、RubyMine、AppCode、PHPStorm、TeamCity、YouTrack、DataGrip 等等。每一款工具都深受广大开发者所钟爱。JetBrains 所推出的各种工具基本上涵盖了常见的软件开发平台,如 Mac、Windows 及 Linux 等。感兴趣的读者可以到 JetBrains 官网了解各种产品的信息并下载试用。

2016-02-01 02:087005
用户头像

发布了 88 篇内容, 共 265.2 次阅读, 收获喜欢 8 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

〖Docker指南⑧〗Docker私有镜像仓库|阿里云|Registry|Harbor

步尔斯特

Docker

JWT 登录认证及 Token 自动续期

源字节1号

软件开发 前端开发 后端开发 小程序开发

得物技术埋点自动化验证的探索和最佳实践

得物技术

自动化 重构 稳定性 电商 埋点

〖Docker指南⑥〗快速入门Docker的五种网络模式

步尔斯特

Docker

〖Docker指南⑦〗docker-compose快速入门

步尔斯特

Docker

明道云入围“2022年中国低/零代码行业影响力TOP15”

明道云

以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

字节跳动数据平台

Apache 大数据 字节跳动 性能优化 数据目录

《云原生的本手、妙手和俗手》——2022全国新高考I卷作文

步尔斯特

云原生

〖Docker指南②〗Docker常用命令汇总

步尔斯特

Docker

模块八:作业

本人法海

「架构实战营」

Wallys/Network_Card/DR9074-2.4G-PN01.1-Wifi-6-Qualcomm-QCN9074

wallys-wifi6

wifi6 m.2 802.11AX QCN9074

Linux命令汇总 | vim | shell | 进阶【2022版】

步尔斯特

云原生

InfoQ 极客传媒 15 周年庆征文|什么是云原生,云原生技术为什么这么火?

步尔斯特

云原生 热门活动 InfoQ极客传媒15周年庆

〖Docker指南⑤〗学习Dockerfile,看这一篇就够了

步尔斯特

Docker

刘勇智:一码通缺陷分析与架构设计方案丨声网开发者创业讲堂 Vol.02

声网

架构 创业讲堂

2022年中国现制柠檬茶市场发展洞察

易观分析

茶饮市场

基于QUIC协议的HTTP/3正式发布!

JackJiang

网络编程 QUIC http3

TDengine 离线升级流程

TDengine

数据库 tdengine

大数据培训 Yarn和Spark配置与说明

@零度

spark YARN 大数据开发

web前端培训如何定位 MySQL 中DDL 被阻塞

@零度

MySQL 前端开发

一图看懂:融云视频会议四大“护法”,让云端开会不再“裸奔”

融云 RongCloud

助力工业化设计,提升变电站三维设计效率和业务保障

焱融科技

gpu 存储 数字化 三维设计 工业化设计

什么是DevOps?为大家都在用DevOps

阿里云云效

云计算 阿里云 DevOps 云原生 研发

哈尔滨等保测评公司有哪几家?叫什么名字?

行云管家

网络安全 等保 等保测评 等级测评 哈尔滨

〖Docker指南①〗快速入门|安装|加速|hello-world

步尔斯特

Docker

〖Docker指南③〗Docker镜像的深度解析

步尔斯特

〖Docker指南④〗docker容器卷

步尔斯特

Docker

web技术分享| 基于vue3实现自己的组件库,第一章:Message组件

anyRTC开发者

前端 Web 音视频 Vue3 message

“复制黏贴”就能打通企微群机器人,包学包会

明道云

我是一个Dubbo数据包...

捉虫大师

dubbo 6月月更 InfoQ极客传媒15周年庆

学生管理系统架构设计文档

泋清

#架构训练营

JetBrains宣布Project Rider:一款C#跨平台IDE_JetBrains_张龙_InfoQ精选文章