#cargo #cli #features #manager #cli-tool #tui #crates

app cargo-features-manager

一个 TUI 工具,用于启用/禁用和修剪依赖项功能

19 个版本 (7 个重大更改)

0.8.3 2024 年 7 月 29 日
0.8.1 2024 年 6 月 8 日
0.7.0 2024 年 3 月 30 日
0.4.0 2023 年 12 月 15 日
0.3.3 2023 年 7 月 28 日

#112 in 命令行工具

Download history 182/week @ 2024-04-30 184/week @ 2024-05-07 16/week @ 2024-05-14 21/week @ 2024-05-21 13/week @ 2024-05-28 226/week @ 2024-06-04 62/week @ 2024-06-11 23/week @ 2024-06-18 15/week @ 2024-06-25 21/week @ 2024-07-02 23/week @ 2024-07-09 10/week @ 2024-07-16 239/week @ 2024-07-23 149/week @ 2024-07-30 20/week @ 2024-08-06 20/week @ 2024-08-13

每月 434 次下载

MIT 许可证

75KB
2K SLoC

Cargo Features Manger

一个类似 TUI 的命令行工具,用于管理 rust-projects 依赖项的功能。

您可以看到所有可用的功能,并可以通过单击一键轻松切换(启用和禁用)它们。所有更改将直接反映在您的 Cargo.toml 文件中。


安装

cargoinstall cargo-features-manager


用法

要启动工具,请在项目根目录下运行 cargo features

这将打开依赖项选择器

dependencySelector

现在您可以选择要更改启用功能的依赖项。

选择依赖项将打开功能选择器

featureSelector

当使用 cargo features -d <依赖项名称> 时,它将直接打开对应的功能选择器。

导航

上移

下移

空格 | Enter | 选择

ESC | 返回

依赖项选择器

没有功能的依赖项将被标记为灰色。
开发依赖项将被标记为 🧪。
构建依赖项将被标记为 🛠️。
工作区依赖项将被标记为 🗃️。

dependencySelector

功能选择器

所有默认功能都被标记为绿色。

greenMark

当鼠标悬停在功能上时,它会显示所需的其他功能。

featureDependency

标记为 📦 的功能意味着它们需要可选依赖项。

featurePackageDependency

需要活动功能的特征将被标记为灰色。

greyFeature

标记为 🗃️ 的特征由工作区依赖项启用,只能通过工作区依赖项禁用

workspaceFeatures

搜索模式

在任何时候,您都可以像平常一样开始输入。这将开始使用您的输入作为搜索查询。


修剪

您可以使用 cargo features prune 运行修剪

这将禁用所有不编译所必需的功能。

误报

一些特性可能不会导致编译失败,但仍会移除功能。为了限制这类情况的范围,我们保持一个包括所有已知误报的文件 文件。这些特性不会被 cargo features prune 禁用,而是会以灰色显示,让您知道您是否真的需要该特性。

如果您知道其他属于此类别的特性,请随时打开一个 Issue 或 PR!

如果您的项目需要保留额外特性,您可以在您的 Cargo.toml 中添加一个名为 cargo-features-manager.keep 的部分,在那里您可以定义哪些特性将被保留。

# Cargo.toml

# for individial packages
[cargo-features-manager.keep]
clap = ["default"]
color-eyre = ["capture-spantrace", "track-caller"]

# for the whole workspace
[workspace.cargo-features-manager.keep]
clap = ["default"]
color-eyre = ["capture-spantrace", "track-caller"]

依赖

~9–18MB
~248K SLoC