如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

Rust Language Server 可供率先采用者使用

  • 2017-02-06
  • 本文字数:902 字

    阅读完需:约 3 分钟

Rust Language Server (RLS)旨在更方便地设计具有诸如代码自动补全、goto 定义、重新格式化等功能的工具。RLS项目的主要贡献者之一Jonathan Turner 写道,RLS alpha 现在可供率先采用者尝试用于真实项目并给出反馈。

为收集源代码有关信息,Rust Language Server 同时使用Rust 编译器和 Racer ,Racer 是用于对 Rust 代码进行代码自动补全的工具。根据定义,编译器是该程序最权威的信息源,但是由于目前缺乏对 Rust 的增量编译的支持,可能速度会太慢。另一方面,虽然 Racer 在速度上有优势,但是如 Turner 所说,Racer 也有一些局限性,比如无法处理宏,或者说只能部分支持通用类型。因此,RLS 同时查询编译器和 Racer,以便于在预先设定的允许时间内提供最准确的信息。为使该过程尽可能高效,RLS 并不通过 shell 进程来控制编译器或 Racer,而是与两者相链接。

RLS 的当前版本支持以下功能:

  • 自动补全
  • goto 定义
  • goto 符号
  • 查找所有参考
  • 重命名 / 重构
  • 悬停类型
  • how 错误

RLS 的一个关键特征是采用了微软语言服务器协议(LSP)。LSP 在客户端(例如IDE 或文本编辑器)和语言服务器之间建立标准通信协议。这使RLS 可用于各种支持Microsoft LSP 的IDE 或编辑器,包括 Visual Studio Code、Eclipse Che 和 emacs。尤其是 RLS 可以通过安装插件用于Microsoft Visual Studio Code 。插件一旦安装,Visual Studio Code 将自动启动语言服务器,并支持 Rust 的高级编辑功能。

据 Turner 所说,虽然 RLS 目前仍处于早期阶段,还不适用于实际使用,但它应该能够应用于大多数基于 Cargo 的 Rust 项目。开发人员可以通过运行以下代码来安装:

复制代码
git clone https://github.com/jonathandturner/rls
git clone https://github.com/jonathandturner/rls_vscode.git
cd rls_vscode
npm install
export RLS_ROOT=/Source/rls

安装完之后启动 VS Code。所需软件有新版 nightly rustc/cargo 、git、python、node 和cmake。

查看英文原文 Rust Language Server Available for Early Adopters


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-06 18:002799
用户头像

发布了 22 篇内容, 共 60998 次阅读, 收获喜欢 3 次。

关注

评论

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

软件测试|Pycharm搜索替换功能

霍格沃兹测试开发学社

软件测试|Python基础之包的使用和软件开发目录规范及常用内置模块

霍格沃兹测试开发学社

软件测试|Python内置模块使用(二)

霍格沃兹测试开发学社

阿里云PAI-灵骏大模型训练工具Pai-Megatron-Patch正式开源!

小偏执o

软件测试|Python基础之面向对象(二)

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(四)

霍格沃兹测试开发学社

提高效率的神器!企业级SQL审核与开发工具

NineData

数据库 团队协作 企业 SQL开发 NineData

Qt For OpenHarmony

OpenHarmony开发者

OpenHarmony

LED显示屏租赁市场“价格”与“质量”的联系

Dylan

广告 LED显示屏 led显示屏厂家

软件测试|数据库的内连接,左连接,右链接分别是什么

霍格沃兹测试开发学社

软件测试|TCP三次握手四次挥手

霍格沃兹测试开发学社

软件测试|App自动化之Appium工作原理

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(三)

霍格沃兹测试开发学社

软件测试|Python基础之模块导入和使用

霍格沃兹测试开发学社

如何用华为云ModelArts平台玩转Llama2

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

软件测试|Pycharm版本控制与分支管理

霍格沃兹测试开发学社

深入浅出:SPI机制在JDK与Spring Boot中的应用

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号9月PK榜

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

测试人

人工智能 软件测试 思维导图 测试开发 ChatGPT

【案例教学】华为云API图引擎服务 GES的便捷性—AI帮助快速处理图片小助手

人工智能 云计算 华为云

软件测试|Pycharm运行与调试

霍格沃兹测试开发学社

飞书深诺AI系列--如何写出一个好的Prompt

飞书深诺技术团队

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

AI和语音助手:智能助手的展露头角

测吧(北京)科技有限公司

测试

淘天集团联合爱橙科技开源大模型训练框架Megatron-LLaMA

阿里技术

大模型 AIGC

软件开发中的资料整理与归档,软件产品开发文档合集

金陵老街

项目管理 文档管理软件

软件测试|MySQL安装最全教程

霍格沃兹测试开发学社

数据研发“新人”如何快速落地?

阿里技术

数据研发

将你的接口数据一目了然,借助 Apifox 的可视化响应功能

Apifox

前端 后端 Apifox API 可视化响应

单元测试|Unittest setup前置初始化和teardown后置操作

霍格沃兹测试开发学社

软件测试|Python内置模块使用(一)

霍格沃兹测试开发学社

软件测试|Python基础之数据库

霍格沃兹测试开发学社

Rust Language Server可供率先采用者使用_语言 & 开发_Sergio De Simone_InfoQ精选文章