写点什么

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

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

关注

评论 1 条评论

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

道路养护系统(源码+文档+部署+讲解)

深圳亥时科技

融合数据的“聚宝盆”:政企业务资源树

鲸品堂

运营商 政企 企业号 2024年10月PK榜

想学程序员又是0基础,如何破局?

高端章鱼哥

QCN6274, QCN9274, and QCN6224:How Qualcomm Wi-Fi 7 Chips Ensure Backward Compatibility with Wi-Fi 6 and Wi-Fi 5

wallyslilly

荣耀应用市场丨新锐榜单首发上线

荣耀开发者服务平台

荣耀开发者服务平台 应用市场 开发者激励计划 荣耀HONOR

生产管理系统(源码+文档+部署+讲解)

深圳亥时科技

陶瓷制品生产管理MES系统解决方案

万界星空科技

mes 万界星空科技mes 智能制造业 陶瓷 陶瓷制品

国际专线网络:加速全球化贸易

Ogcloud

SD-WAN国际专线 国际专线 国际网络专线 跨国网络专线

一文彻底搞定Redis与MySQL的数据同步

快乐非自愿限量之名

MySQL redis 1024程序员节

捷途旅行者与丰田RAV4荣放的品牌策略差异

科技热闻

跨越语言边界,Greptime 与蚂蚁向量数据库合作实现向量搜索性能 5 倍新突破

Greptime 格睿科技

数据库 云原生 检索 向量数据库

「毅硕|生信教程」 micromamba:mamba的C++实现,超越conda

INSVAST

教程分享 基因数据分析 生信服务 Sentieon

关于RAG

AIGC.TWang

大模型 AIGC rag

高级程序员的7大特征,你占了几条?

秃头小帅oi

ElevenLabs Voice Design :可通过文本创建个性化语音;苹果推出首个开发者测试版丨 RTE 开发者日报

声网

开源(open source)是什么?为什么要开源?

伤感汤姆布利柏

一文彻底搞透Redis的数据类型及具体的应用场景

EquatorCoco

redis 1024程序员节

软件测试学习笔记丨Selenium键盘鼠标事件ActionChains

测试人

软件测试

Linux内存泄露案例分析和内存管理分享

京东科技开发者

淘宝1688跨境电商官方接口接入全攻略,跨境卖家必知

tbapi

淘宝数据采集 1688代采系统 1688数据采集 淘宝官方接口 1688官方接口

分销管理系统(源码+文档+部署+讲解)

深圳亥时科技

软件测试学习笔记丨Selenium屏幕操作事件TouchActions

测试人

软件测试

低代码架起产教融合的“立交桥”

快乐非自愿限量之名

“政产学”联合培养高技能人才,助推江门制造业数字化转型升级

Geek_2d6073

快手小店详情API接口的获取与应用

科普小能手

API 接口 API 测试 快手API接口 快手数据采集 快手API

软件测试丨Selenium:常用页面信息对比方法expected_conditions

测试人

软件测试

1024给自己放个假|程序员的福音,让代码智能化触手可及

爱AI的猫猫头

程序员 内容审核 百度智能云 API 接口

当多核变单核:破解CPU核心神秘失踪的终极指南!

EquatorCoco

Java cpu 1024程序员节

智慧党建系统(源码+文档+部署+讲解)

深圳亥时科技

Springboot异步事件配置和使用

不在线第一只蜗牛

Java spring 1024程序员节

抖音的API有什么应用?

科普小能手

API 接口 API 测试 抖音商品详情API接口 抖音数据采集 抖音API接口

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