armin/editorconfig-cli

EditorConfigCLI 是一个免费的 CLI 工具(用 PHP 编写),用于根据给定的 .editorconfig 声明验证和自动修复文本文件。

2.0.1 2024-07-19 14:33 UTC

This package is auto-updated.

Last update: 2024-09-19 15:04:04 UTC


README

Code Checks

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 版本的支持,你可以查看并使用以下标签

安装

要安装 EditorConfigCLI 工具,您需要下载一个方便的 PHAR 可执行文件,或像这样使用 Composer

$ composer req --dev armin/editorconfig-cli

提示:您也可以使用 Composer 全局安装包(使用 composer global 命令)。

要下载 PHAR 可执行文件,请查看此处的发布部分。

什么是 EditorConfig?

EditorConfig logo

EditorConfig 帮助维护多个开发者在不同编辑器和 IDE 中跨多个项目保持一致的编码风格。

应应用哪些编码风格,在 .editorconfig 文件中进行配置。

有关 EditorConfig 的语法和功能更多信息,请访问 https://editorconfig.org

屏幕截图

此截图显示了调用 ec --help 时获得的帮助页面

Screenshot of Help page

这里可以看到两个示例运行

Demo run animation

功能

  • 解析 .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 支持三种不同的模式来查找要检查的文件

  1. 通过 CLI 参数和选项,配置并使用 symfony/finder 实例(默认使用)。

    注意:不会扫描带点的文件和目录(例如 .ddev/.htaccess)。此外,由根 .gitignore 文件覆盖的文件将自动排除在扫描之外。

  2. 使用本地Git二进制文件,获取所有已知的Git文件。CLI参数和选项将被忽略,然后使用(--git-only)。

  3. 使用自定义查找器实例,您可以通过单独的PHP文件提供(--finder-config)。

修复

在扫描后应用自动修复,请附加--fix(或-f)选项。

目前,有两个规则不支持自动修复

  • 字符集
  • 最大行长度

当出现此类问题时,您将在结果输出中收到通知。

CLI

参数

要检查的文件名(名称)。允许通配符。默认:['*']

使用此选项,您只能扫描某些文件类型,例如。

$ vendor/bin/ec *.css *.js *.html

选项

ec二进制文件支持以下选项

提示: ec的帮助页面上的“用法”部分显示了几个示例。

规则列表

以下规则默认执行,可以使用--skip-s)选项禁用

  • 字符集
  • 行结束符
  • 缩进大小
  • 缩进风格
  • 制表符宽度
  • 插入结尾换行符
  • 最大行长度
  • 删除尾随空白字符

支持和贡献

您有疑问、问题或功能请求吗?请查看Github上的问题跟踪器

如果您喜欢这个项目,欢迎您捐款以支持进一步发展。谢谢!

如果您想贡献代码,请查看开发者的贡献指南

变更日志

请见此处