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次下载
2.5MB
3K SLoC
包含 (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
Rust源代码浏览器。利用代码语义理解探索您的Rust项目。功能
- 语法高亮
- 跳转到定义(点击引用)
- 查找所有引用(点击定义)
- 智能标识符搜索
- 鼠标悬停显示类型(和字段信息)
- 智能使用高亮
- 查找所有实现(右键单击类型或特质名称)
- 跳转到标准库引用的文档
- 目录浏览
- 符号浏览
使用RLS的知识。
这是工作正在进行中的预发布软件,请期待错误和许多粗糙的边缘。
内容
截图
悬停显示标识符的类型
搜索标识符名称(显示定义和每个定义的所有引用)
查找定义的所有使用
右键单击标识符以显示更多选项
安装和运行
需要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 install
或yarn
- 构建 JS 组件:运行
npm run build
或yarn 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