写点什么

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:086961
用户头像

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

关注

评论 1 条评论

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

架构师训练营第四周作业

烟雨濛濛

对直播带货的一点思考

Neco.W

直播 直播带货

MySQL实战45讲笔记(1)

程序员老王

msyql

【写作群星榜】6.20~6.26 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

区块链≠分布式账本,别再傻傻分不清

CECBC

区块链技术 高考 信息防篡改

那些会阻碍程序员成长的细节[3]

MavenTalker

程序员 职业规划 职业成长

iOS 动画 - 窗景篇(三·完结)

柯烂

ios swift 动画 移动互联网 动效

来了!8M/S+速度,Pdown复活!

程序员生活志

深入浅出kubernetes之WorkQueue详解

博文视点Broadview

Kubernetes 源码分析 k8s 队列 延迟队列

架构师训练营第四周作业

张明森

融云年中大促钜惠来袭 IM+RTC 超值套餐最低6折起

Geek_116789

了不起的 TypeScript 入门教程 [1.2 w字]

阿宝哥

Java typescript 大前端 Web

创新管理体系标准ISO56002介绍

涛哥 数字产品和业务架构

数字化转型 创新

限频/限流的一些思考

i风语

Java redis 微服务 sentinel ratelimiter

软件架构语录

烟雨濛濛

为什么建议你使用枚举?

王磊

Java 枚举

重学 Java 设计模式:实战中介者模式「按照Mybatis原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

小傅哥

设计模式 小傅哥 代码优化 代码规范 中介者模式

海阅优品致力打造新零售蓝海

Geek_116789

Dart vs Swift

柠檬水

swift dart

MySQL系列 - SQL查询与修改执行过程

俊俊哥

MySQL 性能优化 关系型数据库 存储

一群龙舟划手 “拍了拍” 你:端午节安康~

博睿数据

IM聊天教程:发送图片/视频/语音/表情

GoEasy消息推送

websocket 即时通讯 聊天室 聊天

架构师训练营第四周学习总结

张明森

计算机操作系统基础(五)---Linux的进程管理

书旅

php 线程 多线程 操作系统 进程

揭秘!中国人一定要知道的北斗卫星系统

程序那些事

北斗卫星 北斗系统 卫星定位 卫星授时 黑科技

势能造就下的互联网大厂程序员为什么去开滴滴了?

非著名程序员

程序员 程序人生 提升认知

玩转Java8中的 Stream 之从零认识 Stream

Java小咖秀

学习 面试 stream java8 经验

一二线城市知名 IT 互联网公司名单(新版)

程序员生活志

互联网 IT 大厂

ARTS - Week 4

Khirye

ARTS 打卡计划 arts

告别静默式看房 融云音视频助力上海中原 App 上线 VR 带看服务

Geek_116789

从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持

渔子长

flutter 大前端

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