发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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

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

关注

评论 1 条评论

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

Jenkins使用ansible时出现!unreachable错误

Griffenliu

基于区块链的区域股权市场创新试点

CECBC

区块链

架构训练营 - 第10周课后作业 - 学习总结

Pudding

【Linux开发】编写属于你的第一个Linux内核模块

程序员小灰

c++ Linux 后台开发 架构师 服务器开发

优秀商业可视化大屏(BI)设计演示

Marilyn

UI 商业智能

京东11.11大促背后,那些系统架构经历了些什么?

京东科技开发者

数据库 云计算 云服务

盘点c++几种常见的设计模式及具体实现

linux大本营

c++ Linux 后台开发

划重点!DWS开发的五大要点

华为云开发者联盟

数据库 sql DWS

金融科技带来套利?专家认为监管应关注平台垄断、权力滥用等问题

CECBC

金融科技

shell脚本的使用该熟练起来了,你说呢?(篇二)

良知犹存

Shell

架构师训练营 - 第 11 周课后作业(1 期)

Pudding

【经验分享】打破CMDB认知误区,掌握建设关键!

嘉为蓝鲸

运维 运维自动化 数据可视化 CMDB 配置信息

阿里技术专家熬夜一个月肛出内部“微服务学习笔记”,太完美了

小Q

Java 学习 编程 面试 微服务

消防物联网,为逆行英雄守住第一道生命线

华为云开发者联盟

物联网 控制 消防

京东成立探索研究院,打造产业数智化首个源头性科技高地; AI 论文:让机器像人类一样感知三维真实世界

京东科技开发者

人工智能 云计算

LeetCode题解:455. 分发饼干,贪心for循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

写在日更之前,持续书写,见证文字的力量

boshi

随笔 随笔杂谈

云上看警博会黑科技,得益于华为云打造的“云之盾”

脑极体

完了!这57道面试题(美团、BAT、携程),我咋一个都不会?

比伯

Java 程序员 架构 面试 计算机

软件架构指南

码语者

软件架构

阿里云在应用扩缩容下遇到的挑战与选型思考

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生

1. 揭秘Spring类型转换 - 框架设计的基石

YourBatman

Spring Framework 类型转换 Converter

架构师训练营 - 第 10 周课后作业(1 期)

Pudding

区块链系统面临哪些风险以及有哪些防范措施

CECBC

区块链

40 张图带你搞懂 TCP 和 UDP

编程 程序员 大前端 后端 网络

小白也能看懂!教你如何快速搭建实用的爬虫管理平台

华为云开发者联盟

Python Docker jenkins

一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

华为云开发者联盟

sql jdk OOM

面试官问我:Object o = new Object() 占用了多少个字节?

moon聊技术

JVM Java虚拟机 JVM虚拟机原理

这次我让你彻底弄懂 RESTful

yes

RESTful

前端: 如何快速将应用封装成js-sdk?

徐小夕

Java 大前端

anyRTC 11月SDK更新

anyRTC开发者

flutter uni-app WebRTC RTC sdk

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