首页天道酬勤放弃rust(硬盘接口怎么改成ide)

放弃rust(硬盘接口怎么改成ide)

admin 12-04 10:20 300次浏览

由|开源中国制作

文字|大东

随着Rust基金会的成立,“Rust能不能成功?”再次成为社区的热门话题。

这一次,微软、谷歌、AWS、华为和Rust的创造者Mozilla共同成立了开源基金会,这无疑给国内想要上Rust的开发者和朋友们打了一剂强心针。很多朋友说要开始第n次学习Rust。

结合前面的内容,我们整理更新了一份Rust中可用的IDE及相关插件的代表性列表,希望对想要学习Rust的开发者有所帮助。

Rust语言服务器:Rust Language Server

Rust语言服务器(RLS)基于LSP(语言服务器协议),由红帽、微软和Codenvy联合推出。它允许不同的程序编辑器和集成开发环境(IDE)方便地嵌入各种编程语言,并允许开发人员使用各种语言在自己喜欢的工具中编写程序。

通过用于开发工具和语言服务器之间通信的JSON-RPC标准,使编程工具能够提供实时反馈的详细信息,实现符号搜索、语法分析、代码自动完成、移动到定义、绘制轮廓和重构等许多强大的功能。Rust语言服务器将这些逻辑集成为后端,并通过标准LSP提供给前端工具。它被设计成独立于前端,可以被不同的编辑器和ide广泛使用,但目前项目组只在VS Code中测试。用户可以在VS Code扩展库中找到基于RLS实现的官方Rust插件。

这是Rust官方为Visual Studio Code提供的Rust插件。这个插件最初是Rust官方语言服务器(RSL)的前端引用实现,现在也支持另一个Rust服务器,rust-analyzer(RA),由社区维护。用户可以根据个人喜好在RSL和RA之间选择安装一个。该插件支持:

代码完成

跳转到定义,查看定义,查找所有引用和符号搜索

键入并记录悬停提示。

代码格式

重新定位

纠错和推荐应用

片段

构建任务

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

Snippets是扩展成通用模板的代码模板。输入时,Intellisense会将代码段名称作为快捷键选择的选项。提供了以下片段:

for-创建循环

未执行的

不能得到的

打印(层)

assert(_eq)

宏规则-声明一个宏

If let Option-在特定情况下执行if let语句。

派生-创建线程

外部机箱-插入外部机箱语句。

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

社区驱动的Rust语言服务器rust-analyzer

rust-anlyzer(RA)是除了 RSL 以外的另一个 Rust 语言服务器,由社区驱动开发。自 2019 年末发布第一个预编译 Release 以来,RA 都会在每周二稳定发布新版本并保持至今。经过快速的迭代,目前 RA 各方面的优化和提升已经超越 RSL,所以也被官方纳入 RSL 2.0 计划的一部分。Rust 的 VS Code 官方插件也已经增加了对 RA 的支持。

RA 目前已经支持 Vim、Emac、Sublime Text 3 和 VSCode 等编辑器,可通过官方文档获取详细的安装指导。

Rust代码补全程序:Racer

前面提到 RSL 和 RA 都是 Rust 语言服务器,作为 IDE 与编辑器的后端提供通用能力。而 Racer 是 Rust 语言服务器中的一个静态库,它提供了代码自动补全功能。

许多 IDE 等工具可以轻松集成这样的底层功能,目前包括以下工具都有集成 Racer 的相关实现:

Eclipse

Emacs

Gedit

Gnome Builder

Kate

Sublime Text

Vim

VS Code

Atom

Kakoune

IntelliJ的Rust插件:IntelliJ Rust 和 intellij-toml

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

支持原生代码提示

支持强大的快捷键功能

代码快速格式化

snippets

IntelliJ Rust 和 intellij-toml 为 IDEA,CLion,PyCharm 和其他 JetBrains IDE 带来了 Rust 和 TOML 支持。

语言支持包括语法突出显示,完成,导航和其他代码洞察功能。可以使用 Cargo 命令并运行 Clippy 或 Rustfmt,而无需离开 IDE。CLion 和 IntelliJ IDEA Ultimate 中提供了调试器和分析器。CLion 的集成还支持 CPU 分析。对于所有其他 IDE,可以使用本机调试插件进行调试。

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

CLion 是专门用于 C/C++ 开发的 IDE,它的特性包括:

智能 C/C++ 编辑:原生 C/C++ 支持,包括现代 C++ 标准、libc++ 和 Boost。

导航能力:即时导航到字符的声明或上下文用法,在整个项目中按名称搜索类、文件与字符,并且提供具有结构和层次结构视图的代码库。

代码生成:通过简单的快捷键就可以完成一些代码生成操作,包括:添加类成员、重写/实现函数、生成构造函数/析构函数、getter/setter,判断等式、关系运算和流输出运算、使用语句封装代码块与根据实际用法生成声明。

重构:提供重命名符号、在层次结构中上/下移动成员与更改函数签名等功能。

通过 IntelliJ Rust 插件,CLion 提供了对 Rust 的高度支持,除了基本的功能,它还为 Rust 提供了完善的调试器、CPU Profiler 和 Valgrind 内存检查等能力。

Eclipse IDE的Rust插件:Eclipse Corrosion

Eclipse Corrosion 是 Eclipse IDE 中的 Rust 版本,本质上是一个 Eclipse IDE 的 Rust 插件,通过与 Rust 语言服务器和 Cargo 集成提供了丰富的开发与调试功能。它可以作为完整的 Eclipse 软件包下载。

除了 Rust 语言服务器提供的功能外,Corrosion 还可以帮助用户更好地调试 Rust 程序,比如提供了查看变量、GDB 控制台与断点等功能。另一方面,由于基于 Eclipse,所以像项目大纲、暗黑主题、问题查看与 Git 集成等特性也支持,Eclipse 用户可以轻松适应。

Vim的Rust插件:rust.vim

Rust 官方实现了一个 Vim 插件 rust.vim,爱折腾的开发者可以用来配置 Vim 下的 Rust 开发环境。rust.vim 提供了 Rust 文件检测、语法高亮、格式设置与语法检测工具 Syntastic 集成等功能。特性包括:

Syntastic 错误检测:rust.vim 默认将自动将 cargo 作为语法检查器注册到 Syntastic。

可集成 Tagbar 查看源码

rustfmt 格式化代码:安装了 rustfmt 的话,可以使用 :RustFmt 命令格式化代码。

Playpen 集成::RustPlay 命令会将当前选择内容发送给 Rust playpen,如果未选择任何内容则将当前缓冲区发送给 Rust playpen。

测试:在 cargo 项目中,:RustTest 命令将即时运行测试。

国外也已经有开发者整理了一份更为全面的 IDE 与插件等工具对 Rust 支持状态的概述表单,并保持实时更新:

一分快三计划稳赚ify">智能 C/C++ 编辑:原生 C/C++ 支持,包括现代 C++ 标准、libc++ 和 Boost。

导航能力:即时导航到字符的声明或上下文用法,在整个项目中按名称搜索类、文件与字符,并且提供具有结构和层次结构视图的代码库。

代码生成:通过简单的快捷键就可以完成一些代码生成操作,包括:添加类成员、重写/实现函数、生成构造函数/析构函数、getter/setter,判断等式、关系运算和流输出运算、使用语句封装代码块与根据实际用法生成声明。

重构:提供重命名符号、在层次结构中上/下移动成员与更改函数签名等功能。

通过 IntelliJ Rust 插件,CLion 提供了对 Rust 的高度支持,除了基本的功能,它还为 Rust 提供了完善的调试器、CPU Profiler 和 Valgrind 内存检查等能力。

Eclipse IDE的Rust插件:Eclipse Corrosion

Eclipse Corrosion 是 Eclipse IDE 中的 Rust 版本,本质上是一个 Eclipse IDE 的 Rust 插件,通过与 Rust 语言服务器和 Cargo 集成提供了丰富的开发与调试功能。它可以作为完整的 Eclipse 软件包下载。

除了 Rust 语言服务器提供的功能外,Corrosion 还可以帮助用户更好地调试 Rust 程序,比如提供了查看变量、GDB 控制台与断点等功能。另一方面,由于基于 Eclipse,所以像项目大纲、暗黑主题、问题查看与 Git 集成等特性也支持,Eclipse 用户可以轻松适应。

Vim的Rust插件:rust.vim

Rust 官方实现了一个 Vim 插件 rust.vim,爱折腾的开发者可以用来配置 Vim 下的 Rust 开发环境。rust.vim 提供了 Rust 文件检测、语法高亮、格式设置与语法检测工具 Syntastic 集成等功能。特性包括:

Syntastic 错误检测:rust.vim 默认将自动将 cargo 作为语法检查器注册到 Syntastic。

可集成 Tagbar 查看源码

rustfmt 格式化代码:安装了 rustfmt 的话,可以使用 :RustFmt 命令格式化代码。

Playpen 集成::RustPlay 命令会将当前选择内容发送给 Rust playpen,如果未选择任何内容则将当前缓冲区发送给 Rust playpen。

测试:在 cargo 项目中,:RustTest 命令将即时运行测试。

国外也已经有开发者整理了一份更为全面的 IDE 与插件等工具对 Rust 支持状态的概述表单,并保持实时更新:

Android实现取消GridView中Item选中时默认的背景色Java设计模式之原型模式怎么实现
node.js是什么(javascript) 下载谷歌浏览器并安装到手机(chrome apk)
相关内容