AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

Windows Server 2022 中文版、英文版下载 (2025 年 4 月更新)

sysin

Windows Server

KWDB MCP Server:解锁 LLM 与数据库的无缝协作

KaiwuDB

数据库

人工智能与增强现实购物体验:如何用AR与AI结合提升电商互动性?

天津汇柏科技有限公司

人工智能 增强现实 AI 人工智能

Meta Llama 4大模型评价与分析

测试人

人工智能

INFINI Console 系统集群状态异常修复方案

极限实验室

Kubernetes operator arm64

问界M9硬件升级的背后,藏着汽车的原子化之梦

脑极体

AI

1688代采系统功能深度解析(二):从技术角度揭秘“一键下单+批量采购”如何重塑采购效率

代码忍者

1688代采集运系统

英特尔和海信联合发布的会议垂域模型让商务会议更加安全智能

E科讯

AI智上 | 数智预算:业财数融 智算未来

用友智能财务

GPT-4 即将退役,你准备好迎接 AI 的下一波冲击了吗?

测试人

人工智能

【HarmonyOS 5】makeObserved接口详解

GeorgeGcs

aiXcoder上新Agent,内置MCP功能,端到端智能实现软件开发任务

新消费日报

【智驾中的大模型-3】VLA 在自动驾驶中的应用

地平线开发者

自动驾驶; 算法工具链 地平线征程6

Langchain快速入门: 一行代码实现流式输出

AI时代的一滴水

Python AI #LangChain LLM模型

《Operating System Concepts》阅读笔记:p748-p748

codists

操作系统

融云「国家级通信产品」在沙特的交付实践

融云 RongCloud

等保二级与三级的深度剖析:差异究竟在哪?

黑龙江陆陆信息测评部

GitHub 上 Star 数排名前 40 的开发者工具

NocoBase

GitHub 开源 低代码 零代码 开发工具

征程 6 VIO通路断流分析

地平线开发者

自动驾驶; 算法工具链 地平线征程6

征程 6 VIO通路断流分析

地平线开发者

自动驾驶; 算法工具链 地平线征程6

又来一个挑战 Elastic 的,初识 SigLens

巴辉特

elasticsearch SigLens

【签约】安兰携手第七在线 共启智能供应链新纪元

第七在线

漫谈PID,聊聊实现与调参原理

芯动大师

展开华为风帆,航向全球金融

脑极体

AI

2025 腾讯云城市峰会 •成都峰会 Al+办公协同创新专场 智启未来办公 驱动提效增长

人称T客

CST软件如何计算CMA中的模式加权系数MWC

思茂信息

cst操作 CST软件 CST Studio Suite

「DeepSeek-V3 技术解析」:DeepSeek-V3-Base 预训练阶段解析

Baihai IDP

人工智能 程序员 AI LLMs DeepSeek

基于亚马逊云科技 Amazon Bedrock Tool Use 实现 Generative UI

亚马逊云科技 (Amazon Web Services)

deepseek如何制作ppt?DS高级使用技巧盘点!

职场工具箱

PPT 办公软件 AIGC AI生成PPT DeepSeek

轻松拥有企业AI大脑,英特尔与MAXHUB共同发布AI PC

E科讯

MES管理系统:解决排产难题,提升企业竞争力

万界星空科技

生产管理系统 mes 制造业工厂 生产排班排产 智能排产

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