写点什么

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

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

关注

评论

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

SD-WAN优化远程办公网络体验

Ogcloud

远程办公 网络 SD-WAN 组网

软件测试/测试开发|详解selenium xpath定位

霍格沃兹测试开发学社

企业场景中大语言模型的应用实践探索丨Fabarta 技术专栏

Fabarta

大模型 数据基础设施 多模态大模型 大模型应用开发

缺少反向ETL能力?ETLCloud帮你清障

谷云科技RestCloud

数据仓库 ETL 数据集成

DATA+AI,生产效率至少+30%?

Kyligence

数智助理 决策智能

打造餐饮+元宇宙新体验!实时云渲染赋能DQverse未来世界

3DCAT实时渲染

实时渲染 实时云渲染 元宇宙解决方案

Pipeline 助您轻松驾驭海量数据!

观测云

数据分析 日志 pipeline

大数据服务与低代码开发:赋能创新与效率的双剑合璧

不在线第一只蜗牛

大数据 软件开发 低代码

软件测试/测试开发|GitHub怎么用,这篇文章告诉你

霍格沃兹测试开发学社

迈向AI+API经济的智能时代

幂简集成

人工智能 AI API

双喜临门!Apache IoTDB 及核心贡献者荣获开放原子评选生态开源项目+活力开源贡献者

Apache IoTDB

云数据库MySQL多人协同开发实践

天翼云开发者社区

MySQL 数据库 云计算

云电脑的显卡之谜与画面处理机制

天翼云开发者社区

云计算 云电脑

拱墅运河体育场元宇宙空间上线,实时云渲染助力沉浸式浏览场馆

3DCAT实时渲染

实时云渲染 元宇宙解决方案

第五代英特尔至强可扩展处理器AI性能大幅提升,英特尔加注推动人工智能无处不在

E科讯

大模型时代,未来所有公司都是 Data+AI 公司

Kyligence

人工智能 数据分析

1688商品API在跨境电商中的应用场景

技术冰糖葫芦

API

有道基于 Amoro Mixed Format 构建准实时湖仓实践

Amoro Community

大数据 开源 湖仓一体 有道 实时湖仓

软件测试/测试开发|最容易上手的Ubuntu虚拟机安装教程

霍格沃兹测试开发学社

用AI PC助力创新无限想象,英特尔人工智能创新应用大赛正式启动

E科讯

大语言模型微调数据竞赛,冠军!

天翼云开发者社区

云计算 数据 大模型

文心一言 VS 讯飞星火 VS chatgpt (159)-- 算法导论12.3 6题

福大大架构师每日一题

福大大架构师每日一题

OpenAI 工程师自曝开发 ChatGPT 仅用时 8 天丨 RTE 开发者日报 Vol.108

RTE开发者社区

业内好用的低代码平台推荐

segao0927

低代码 PaaS

数据分析场景下,企业大模型选型的思路与建议

Kyligence

数据分析 大模型

深入解读MRKL系统

Bob Lin

AI ChatGPT LLM GPT-4 #LangChain

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