armin / editorconfig-cli
EditorConfigCLI 是一个免费的 CLI 工具(用 PHP 编写),用于根据给定的 .editorconfig 声明验证和自动修复文本文件。
Requires
- php: ^8.2
- ext-iconv: *
- ext-json: *
- idiosyncratic/editorconfig: ^0.1.1
- symfony/console: ^5 || ^6 || ^7
- symfony/finder: ^5 || ^6 || ^7
- symfony/mime: ^5 || ^6 || ^7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- jangregor/phpstan-prophecy: ^1.0
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^10.5
- seld/phar-utils: ^1.2
README
EditorConfigCLI(二进制文件名为 ec
)是一个免费的命令行界面工具(用 PHP 编写),用于根据给定的 .editorconfig 声明 验证和自动修复 文本文件。
这允许你在 CI 和开发过程 中自动确保 .editorconfig 声明。
armin/editorconfig-cli 采用 MIT 许可证 发布。
由 Armin Vieweg 编写 <https://v.ieweg.de>
需求
- PHP 8.2 或 8.3
- 启用的 PHP 扩展:iconv, json
如果你需要旧版 PHP 版本的支持,你可以查看并使用以下标签
- PHP 7.4, 8.0, 8.1 或 8.2(分支 1.x)
安装
要安装 EditorConfigCLI 工具,您需要下载一个方便的 PHAR 可执行文件,或像这样使用 Composer
$ composer req --dev armin/editorconfig-cli
提示:您也可以使用 Composer 全局安装包(使用 composer global
命令)。
要下载 PHAR 可执行文件,请查看此处的发布部分。
什么是 EditorConfig?
EditorConfig 帮助维护多个开发者在不同编辑器和 IDE 中跨多个项目保持一致的编码风格。
应应用哪些编码风格,在 .editorconfig 文件中进行配置。
有关 EditorConfig 的语法和功能更多信息,请访问 https://editorconfig.org
屏幕截图
此截图显示了调用 ec --help
时获得的帮助页面
这里可以看到两个示例运行
功能
- 解析 .editorconfig 文件
- 根据相应的 .editorconfig 声明验证文件
- 提供多种模式来遍历项目文件
- 自动修复问题的工具
- 以下 EditorConfig 声明(也称为“规则”)正在被处理
- EndOfLine
- InsertFinalNewLine
- TrimTrailingWhitespace
- 缩进
- 样式(制表符/空格)
- 大小(宽度)
- 字符集(仅检查)
- 最大行长度(仅检查)
- 可选严格模式(
--strict
)强制定义空格缩进大小(可能与其他代码检查器冲突) - 允许跳过某些规则(例如
--skip charset,eol
) - 列出当前未由给定的 .editorconfig 声明覆盖的文件(
--uncovered
)
用法
Composer 风格
$ vendor/bin/ec [options] [--] [<names>...]
PHAR 风格
$ php ec-2.0.0.phar [options] [--] [<names>...]
扫描
当您不输入任何选项时,调用 ec
PHP 二进制文件将立即开始扫描。
EditorConfigCLI 支持三种不同的模式来查找要检查的文件
-
通过 CLI 参数和选项,配置并使用
symfony/finder
实例(默认使用)。注意:不会扫描带点的文件和目录(例如
.ddev/
或.htaccess
)。此外,由根.gitignore
文件覆盖的文件将自动排除在扫描之外。 -
使用本地Git二进制文件,获取所有已知的Git文件。CLI参数和选项将被忽略,然后使用(
--git-only
)。 -
使用自定义查找器实例,您可以通过单独的PHP文件提供(
--finder-config
)。
修复
在扫描后应用自动修复,请附加--fix
(或-f
)选项。
目前,有两个规则不支持自动修复
- 字符集
- 最大行长度
当出现此类问题时,您将在结果输出中收到通知。
CLI
参数
要检查的文件名(名称)。允许通配符。默认:['*']
使用此选项,您只能扫描某些文件类型,例如。
$ vendor/bin/ec *.css *.js *.html
选项
ec
二进制文件支持以下选项
提示: ec
的帮助页面上的“用法”部分显示了几个示例。
规则列表
以下规则默认执行,可以使用--skip
(-s
)选项禁用
字符集
行结束符
缩进大小
缩进风格
制表符宽度
插入结尾换行符
最大行长度
删除尾随空白字符
支持和贡献
您有疑问、问题或功能请求吗?请查看Github上的问题跟踪器。
如果您喜欢这个项目,欢迎您捐款以支持进一步发展。谢谢!
如果您想贡献代码,请查看开发者的贡献指南。