#navigation #reference #semantic #definition #syntax-highlighting #find #search

nightly bin+lib cargo-src

Rust语义代码导航

9个版本

使用旧的Rust 2015

0.1.8 2019年11月16日
0.1.7 2019年8月18日
0.1.6 2018年12月24日
0.1.5 2018年9月18日
0.1.2 2018年4月29日

#799 in 开发工具

每月 35次下载

Apache-2.0/MIT

2.5MB
3K SLoC

Rust 1.5K SLoC // 0.1% comments JavaScript 1K SLoC // 0.1% comments TSX 65 SLoC // 0.2% comments TypeScript 4 SLoC // 0.6% comments

包含 (WOFF 字体, 100KB) static/fonts/FiraCode-Bold.woff,(WOFF 字体, 99KB) static/fonts/FiraCode-Light.woff,(WOFF 字体, 99KB) static/fonts/FiraCode-Medium.woff,(WOFF 字体, 99KB) static/fonts/FiraCode-Regular.woff,(WOFF 字体, 96KB) static/fonts/FiraSans-Light.woff,(WOFF 字体, 90KB) static/fonts/FiraSans-Medium.woff 等。

cargo src

Build Status

Rust源代码浏览器。利用代码语义理解探索您的Rust项目。功能

  • 语法高亮
  • 跳转到定义(点击引用)
  • 查找所有引用(点击定义)
  • 智能标识符搜索
  • 鼠标悬停显示类型(和字段信息)
  • 智能使用高亮
  • 查找所有实现(右键单击类型或特质名称)
  • 跳转到标准库引用的文档
  • 目录浏览
  • 符号浏览

使用RLS的知识。

这是工作正在进行中的预发布软件,请期待错误和许多粗糙的边缘。

内容

截图

cargo src screenshot - source view

悬停显示标识符的类型

cargo src screenshot - source view

搜索标识符名称(显示定义和每个定义的所有引用)

cargo src screenshot - source view

查找定义的所有使用

cargo src screenshot - source view

右键单击标识符以显示更多选项

cargo src screenshot - source view

安装和运行

需要Rust的nightly版本。

要安装,请运行 cargo install cargo-src

然后,要运行: cargo src 在您通常运行 cargo build 的目录中。您可以运行 cargo src --open 以直接在您的网络浏览器中打开 cargo src 的输出。

cargo src 将启动一个 Web 服务器并构建(cargo check)和索引您的代码。这可能需要一些时间(取决于您的 crate,可能比正常构建长一倍)。在索引的同时您可以浏览源代码,但您将错过诸如跳转到定义和搜索等所有好的功能。

自定义

在您的项目目录中创建一个 rustw.toml 文件。请参阅 src/config.rs 或运行 cargo src -- -h 以查看可用的选项及其默认值。

一些功能在使用前需要在 rustw.toml 中进行配置。

edit_command = "subl $file:$line"

为了能在本地编辑器中打开文件。以下示例适用于 sublime text(subl)。根据您的编辑器,使用适当的 $file$line 变量。

vcs_link = "https://github.com/nrc/rustw-test/blob/master/$file#L$line"

以下示例中包含指向版本控制中代码的链接,GitHub。

构建

需要Rust的nightly版本。

https://github.com/nrc/cargo-src 获取源代码。

  • 安装依赖项:运行 npm installyarn
  • 构建 JS 组件:运行 npm run buildyarn build
  • 构建 Rust 部分:运行 cargo build --release

运行

在您的项目目录中运行 CARGO=cargo /<您的本地文件路径>/rustw/target/release/cargo-src(即,您通常用于运行 cargo build 的目录)。

运行 cargo src 将启动一个 Web 服务器并在控制台显示一个 URL。要终止服务器,请使用 ctrl + c。如果您将浏览器指向提供的 URL,它将列出项目中的目录和文件,然后您可以使用它们来查看代码。终端仅用于显示日志,可以忽略。

您可以使用 --open 在您的网络浏览器中直接打开 cargo src 浏览器。

目前,cargo src 仅在 Linux 和 MacOS 的 Firefox 上进行了测试(问题 48)。

故障排除

如果在启动 cargo src 时遇到类似 error while loading shared libraries 的错误,您应尝试以下操作

在 Linux 上

export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$LD_LIBRARY_PATH

在 MacOS 上

export DYLD_LIBRARY_PATH=$(rustc --print sysroot)/lib:$DYLD_LIBRARY_PATH

贡献

Cargo src 是开源的(双许可协议下 Apache 2.0 和 MIT 许可),欢迎贡献!您可以通过测试和 报告问题 来帮助。代码、测试和文档都非常欢迎,您可以通过浏览 所有问题简单问题 来找到可以工作的内容。

如果您需要帮助或想讨论 cargo,您可以在 rust-dev-tools irc 频道(nrc)、电子邮件(我的 irc 处理 @mozilla.com)或推特(@nick_r_cameron)找到我。

货物源服务器是用Rust编写的,并使用Hyper。它作为一个单独的进程运行cargo check,并且真正只处理stdout/stderr的输出。

货物源前端是一个使用HTML和JavaScript编写的单页网页应用。它使用React和JQuery。

依赖项

~22MB
~403K SLoC