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 次下载
72KB
1.5K SLoC
未引用文件
一个用于查找未使用和未引用文件的实用程序。
内容
用法
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_logger
和 log
库提供日志记录。可以通过环境变量 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