写点什么

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

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

关注

评论

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

Netflix Mac(奈飞客户端) v2.13.0激活版

iMac小白

macOS 13 Ventura (苹果最新系统) v13.6.3正式版

iMac小白

Solidity之旅(十六)Constant 和 Immutable状态变量

BSN研习社

区块链 Solidity

哪些关键供应链指标的数据集成可以提高智能商品系统决策支持效果

第七在线

JNPF开发平台--初体验

互联网工科生

低代码 JNPF

Acrobat Pro DC 2023 for mac(专业PDF编辑软件)中文直装版

iMac小白

AnyGo for Mac v6.9.5激活版 GPS定位软件

iMac小白

“数”上加“速” 腾讯云(辽宁)数字经济产业基地在铁西揭牌

Geek_2d6073

海外营销推广难?看看这款外贸人强推的海外云手机!

Ogcloud

跨境电商 外贸

ERP与智能商品系统在供应链管理上有哪些区别和优势?

第七在线

Parallels Desktop 19 for Mac v19.1.0一键激活版

iMac小白

Java-springboot整合activiti实际项目案例(源代码)

金陵老街

一文讲透基于感知超分模型的实时视频抗弱网技术

中关村科金

人工智能 音视频

TiDB故障处理之让人迷惑的Region is Unavailable

不在线第一只蜗牛

数据库 架构 TiDB 集群库

五大能力六大场景,百度“品牌智能体”打造品牌AGI时代最核心经营阵地

科技热闻

使用PotPlayer播放器查看软解和硬解4K高清视频时的CPU及GPU占用情况 | 主赛道

身份自动化工作流,帮助您快速提高工作效率

Authing

企业管理 统一身份认证 Authing 身份自动化 身份管理

跨链技术 2023:拥抱区块链的互操作性

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

2024通义语音AI技术图景,大模型引领AI再进化

阿里技术

通义千问

月薪50k万的程序员,和三个15K的程序员,谁的开发效率高?

伤感汤姆布利柏

程序员 互联网 高薪

文心一言 VS 讯飞星火 VS chatgpt (167)-- 算法导论13.1 7题

福大大架构师每日一题

福大大架构师每日一题

Final Cut Pro X for Mac(fcpx视频剪辑)v10.7.1简体中文版

iMac小白

Microsoft 365 for Mac(Office 365)v16.80正式激活版

iMac小白

macOS 14 Sonoma(最新MacOS系统)pkg完整安装包 14.2正式版

iMac小白

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