加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

2019 年可以选用这些 Rust IDE/DE

发布时间:2019-10-21 20:17:50 所属栏目:优化 来源:h4cd
导读:【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 最近一段时间 Rust 似乎开始从默默无闻走向聚光灯下,从微软宣布探索采用 Rust 替代 C/C++,到 Linux 内核维护者表示愿意接受Rust 作为驱动开发语言,再到 AWS 公开表示赞助 Rust,同时连
副标题[/!--empirenews.page--] 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

2019 年可以选用这些 Rust IDE/DE

最近一段时间 Rust 似乎开始从默默无闻走向聚光灯下,从微软宣布探索采用 Rust 替代 C/C++,到 Linux 内核维护者表示愿意接受 Rust 作为驱动开发语言,再到 AWS 公开表示赞助 Rust,同时连续 4 年被票选为 Stack Overflow 最受欢迎语言的光辉事迹又被搬出来。频频高亮曝光,让“Rust 到底能不能成?”、“以后不用学 C/C++ 了?”、“Rust 入门使用真的很难吗?”等讨论不绝于耳。

这其中开发者讨论得比较多的一个点是“都 2019 年了,Rust 还没有一个专门的 IDE 可以用来开发”,不用多辩驳我们都知道 IDE 对于一个编程语言的采用来说太重要了,像下图这样的开发者心声,其实表达出的仅仅是没有 IDE 不利的一个方面,也就是对新手不友好,而功能齐全的专业 IDE 实际上完全不仅仅只对新手产生影响:

2019 年可以选用这些 Rust IDE/DE

(@Tinian )

有开发者回应,表示现在 Rust 确实没有比较专业的 IDE,但是已经有了语言服务器这种底层基础与各种插件支持,甚至“IDE 专家”JetBrains 在其当前提供的 IntelliJ Rust 插件成熟之后也会让其像 GoLand 一样独立出来。

2019 年可以选用这些 Rust IDE/DE

(@志田未来 、@dwingo 、@墨名次 、@warriorsfl)

围观他们的讨论 >>> https://www.oschina.net/news/110621/aws-sponsorship-of-the-rust

就着这个话题,我们整理了一份比较有代表性的 Rust 可用 IDE 与相关插件等工具的列表,分享给开发者。

Rust 语言服务器:Rust Language Server

Rust 语言服务器(RLS)基于 LSP(Language Server Protocol),即语言服务器协议,LSP 由红帽、微软和 Codenvy 联合推出,可以让不同的程序编辑器与集成开发环境(IDE)方便地嵌入各种编程语言,允许开发人员在最喜爱的工具中使用各种语言来编写程序。

它通过用于开发工具和语言服务器间通信的 JSON-RPC 标准,能够让编程工具提供实时反馈的详细信息并以此实现多种强大功能,比如符号搜寻、语法分析、代码自动补全、移至定义、描绘轮廓与重构等。Rust 语言服务器集成了这些逻辑作为后端,并通过标准的 LSP 提供给前端工具,它被设计为与前端无关,可以被不同的编辑器和 IDE 广泛采用。

基于 Rust 语言服务器的 VS Code 插件:rls-vscode

2019 年可以选用这些 Rust IDE/DE

这个就是 Rust 官方为 Visual Studio Code 提供的 Rust 语言服务器前端参考实现,它支持:

  • 代码补全
  • jump to definition、peek definition、find all references 与 symbol search
  • 类型和文档悬停提示
  • 代码格式化
  • 重构
  • 错误纠正并应用建议
  • snippets
  • 构建任务

值得一提的是 snippets(代码片段)和构建任务这两个特性。

snippets 是扩展为通用样板的代码模板。输入时,Intellisense 会将代码段名称包括在内作为选项,可供快捷键选中。提供了以下 snippets:

  • for - 创建循环
  • unimplemented
  • unreachable
  • print(ln)
  • assert(_eq)
  • macro_rules - 声明宏
  • if let Option - 在某些情况下执行 if let 语句
  • spawn - 创建线程
  • extern crate - 插入 extern crate 语句

此 Rust 插件提供了使用相关的 cargo 命令进行构建、运行和测试的任务,可以使用 ctrl + shift + b 进行构建,可通过命令面板中的“运行任务”查看其它任务。这些任务内容写在 task.json 中,插件不会覆盖现有任务,因此可以自定义任务。

IntelliJ 的 Rust 插件:IntelliJ Rust

2019 年可以选用这些 Rust IDE/DE

IntelliJ Rust 是 IntelliJ 的 Rust 插件,采用 Kotlin 开发,功能特性包括:

  • 支持原生代码提示

  • 支持强大的快捷键功能

  • 代码快速格式化

  • snippets

该插件有较好的兼容性,兼容 2019.2 版本之后的所有基于 IntelliJ 的 IDE。可用功能集之间存在以下差异:

2019 年可以选用这些 Rust IDE/DE

(*) 表示:IDEA 社区版、PyCharm 社区版、PyCharm Edu 和 IntelliJ IDEA Edu 版。

从上表中也可以看得出来,CLion 是集成了最多功能支持的 IDE,也因此,许多开发者基于 IntelliJ 的 Rust 开发环境直接就是:IntelliJ Rust+CLion。

C/C++ 跨平台集成开发环境:CLion

2019 年可以选用这些 Rust IDE/DE

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读