本篇内容介绍了“2021年用DE开发Rust的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Rust 语言服务器(RLS)基于 LSP(Language Server Protocol),即语言服务器协议,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 之间选择安装一个。该插件支持:
代码补全
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 中,插件不会覆盖现有任务,因此可以自定义任务。
rust-anlyzer(RA)是除了 RSL 以外的另一个 Rust 语言服务器,由社区驱动开发。自 2019 年末发布第一个预编译 Release 以来,RA 都会在每周二稳定发布新版本并保持至今。经过快速的迭代,目前 RA 各方面的优化和提升已经超越 RSL,所以也被官方纳入 RSL 2.0 计划的一部分。Rust 的 VS Code 官方插件也已经增加了对 RA 的支持。
RA 目前已经支持 Vim、Emac、Sublime Text 3 和 VSCode 等编辑器,可通过官方文档获取详细的安装指导。
前面提到 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 插件,采用 Kotlin 开发,功能特性包括:
支持原生代码提示
支持强大的快捷键功能
代码快速格式化
snippets
IntelliJ Rust 和 intellij-toml 为 IDEA,CLion,PyCharm 和其他 JetBrains IDE 带来了 Rust 和 TOML 支持。
语言支持包括语法突出显示,完成,导航和其他代码洞察功能。可以使用 Cargo 命令并运行 Clippy 或 Rustfmt,而无需离开 IDE。CLion 和 IntelliJ IDEA Ultimate 中提供了调试器和分析器。CLion 的集成还支持 CPU 分析。对于所有其他 IDE,可以使用本机调试插件进行调试。
CLion 是专门用于 C/C++ 开发的 IDE,它的特性包括:
智能 C/C++ 编辑:原生 C/C++ 支持,包括现代 C++ 标准、libc++ 和 Boost。
导航能力:即时导航到字符的声明或上下文用法,在整个项目中按名称搜索类、文件与字符,并且提供具有结构和层次结构视图的代码库。
代码生成:通过简单的快捷键就可以完成一些代码生成操作,包括:添加类成员、重写/实现函数、生成构造函数/析构函数、getter/setter,判断等式、关系运算和流输出运算、使用语句封装代码块与根据实际用法生成声明。
重构:提供重命名符号、在层次结构中上/下移动成员与更改函数签名等功能。
通过 IntelliJ Rust 插件,CLion 提供了对 Rust 的高度支持,除了基本的功能,它还为 Rust 提供了完善的调试器、CPU Profiler 和 Valgrind 内存检查等能力。
“2021年用DE开发Rust的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。