#未使用 #文件 #查找 #未引用

app unreferenced_files

一个用于查找未使用和未引用文件的实用程序

16 个版本 (9 个稳定版)

2.0.0 2021 年 5 月 1 日
1.6.0 2021 年 2 月 21 日
1.3.0 2021 年 1 月 3 日
1.0.0 2020 年 11 月 9 日
0.7.0 2020 年 11 月 9 日

#835开发工具

每月 48 次下载

AGPL-3.0

72KB
1.5K SLoC

Rust 1K SLoC // 0.1% comments Gherkin (Cucumber) 254 SLoC Python 117 SLoC

未引用文件

crates.io pipeline status Conventional Commits License: AGPL v3

一个用于查找未使用和未引用文件的实用程序。

内容

用法

unreferenced_files 是一个非常简单且快速的工具。所有通过参数 --search-for 提供的目录或文件中的文件都会被记录。这些文件的引用将搜索在通过参数 --search 提供的目录或文件中。

默认情况下,文件引用的搜索是通过查找每个文件中的文件相对路径、文件名和文件基本名来进行的。如果搜索和搜索文件重叠,则文件不会搜索自身以查找自引用。

例如:

> tree parent

parent/
├── child
│   └── file2.txt
└── file1.txt

对于上面的示例目录,如果参数是 --search-for parent/,那么对于文件 parent/file1.txt,将搜索文件的相对路径 parent/file1.txt、文件名 file1.txt 和文件基本名 file1。对于文件 parent/child/file2.txt,将搜索文件的相对路径 parent/child/file2.txt、文件名 file2.txt 和文件基本名 file2

用法 - 额外参数

可以通过传递额外的命令行标志来更改搜索内容,以确定文件是否被引用。

标志
--only-search-for 仅搜索与以下正则表达式匹配的文件,与忽略搜索互斥。
--ignore-search-for 忽略并搜索不包含以下正则表达式的任何文件,与仅搜索互斥。
--only-search 仅搜索与以下正则表达式匹配的文件,与忽略搜索互斥。
--ignore-search 忽略并搜索不包含以下正则表达式的任何文件,与仅搜索互斥。
--only-file-name 仅通过文件名搜索未引用的文件。
--only-file-stem 仅通过不带扩展名的文件名搜索未引用的文件。
--only-relative-path 仅通过相对路径搜索未引用的文件。
--print-full-path 输出每个未引用文件的完整路径,而不是相对路径。
--assert-no-unreferenced-files 如果有未引用的文件,则返回非零退出码。

用法 - 示例

例如,对于在 src/test/resources/ 中引用文件的测试用例的Java项目,其中测试用例通过名称调用文件,例如。

@Test
public void testImportingFile() {
    ...
    import("file.txt");
    ...
    import("/JSON/file.json");
    ...
}

您可以通过以下方式找到 src/test/resources/ 中的所有未引用文件

cd src/test/resources/
unreferenced_files --search-for ./ --search ../java/

用法 - 记录

使用 pretty_env_loggerlog 库提供日志记录。可以通过环境变量 RUST_LOG 来设置日志级别。有关更详细的文档,请参阅 https://crates.io/crates/pretty_env_logger

通过本地仓库编译

在本地检出代码仓库,切换到仓库目录,然后通过 cargo 构建。使用 --release 标志会产生一个优化的二进制文件,但编译时间会更长。

git clone [email protected]:DeveloperC/unreferenced_files.git
cd unreferenced_files/
cargo build --release

编译后的二进制文件位于 target/release/unreferenced_files

通过 Cargo 编译

Cargo 是 Rust 包管理器,使用 install 子命令从 crates.io 拉取包,然后在本地编译二进制文件。 cargo install 将生成的二进制文件放置在 $HOME/.cargo/bin/unreferenced_files

cargo install unreferenced_files

问题/功能请求

要报告问题或请求新功能,请使用 https://gitlab.com/DeveloperC/unreferenced_files/-/issues

依赖项

~5–13MB
~149K SLoC