Duster 完整指南:lint 与 fix 两大核心命令详解

📅 发布时间:2026/8/22 15:30:22
Duster 完整指南:lint 与 fix 两大核心命令详解 Duster 完整指南lint 与 fix 两大核心命令详解【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/dusterDuster 是一款面向 Laravel 应用的代码风格检查工具通过一条命令即可自动应用 Tighten 团队标准的 linting 与代码规范。它的两个核心命令是lint检查代码问题和fix自动修复问题内置 TLint、PHP_CodeSniffer、PHP CS Fixer、Pint 四大工具帮你快速统一团队代码风格无需手动配置任何规则。为什么需要 Duster团队开发中代码风格不统一是最常见的内耗来源缩进不一致、命名不规范、use 语句顺序混乱……Duster 把四款主流 PHP 检查工具整合成一条命令TLint检查 Laravel 和 PHP 中其他工具覆盖不到的问题PHP_CodeSniffer发现无法自动修复的规范问题基于 PSR1 加 Tighten 自定义规则PHP CS Fixer补充 Laravel Pint 不支持的自定义规则Pint应用 Laravel 官方代码风格含 Tighten 定制项规则细节可在 style-guide.md 中查看无需你逐个工具去配置。快速安装步骤在 Laravel 项目根目录执行一条命令将 Duster 以开发依赖安装composer require tightenco/duster --dev验证安装成功直接运行二进制文件即可看到可用命令列表./vendor/bin/dusterlint 命令详解一键检查代码问题lint是检查模式——它只报告问题不改动任何文件./vendor/bin/duster lint运行后Duster 会依次调用配置的各个工具扫描代码并在终端中以醒目的颜色输出结果 绿色 success该工具检查通过 黄色标题正在执行的工具 红色!! error发现问题需要人工关注这个结果输出逻辑由 app/Concerns/CommandHelpers.php 实现让问题一目了然。 典型使用场景提交代码前、Code Review 前、CI 流水线中用它确认代码符合团队规范。fix 命令详解一键自动修复问题fix是修复模式——它能自动改就改改不了再报告./vendor/bin/duster fix两者的执行逻辑几乎一致都通过 app/Actions/Clean.php 依次调度各个工具lint模式返回是否发现问题fix模式则先尝试修复再检查。命令本体分别位于 app/Commands/LintCommand.php 和 app/Commands/FixCommand.php。 经验建议日常开发先跑fix自动修再跑lint确认剩余的无法自动修复的问题。常用选项实战让 lint 与 fix 更精准两大命令支持 4 个实用参数定义见 app/Concerns/ConfiguresForLintOrFix.php1. --dirty只检查 Git 未提交的改动只处理当前有未提交变更的文件速度飞快适合提交前快速检查./vendor/bin/duster lint --dirty ./vendor/bin/duster fix --dirty2. --using指定要运行的工具及顺序默认运行全部工具你也可以只挑需要的逗号分隔./vendor/bin/duster lint --usingphpstan,tlint,pint可选工具tlint、phpcodesniffer、phpcsfixer、pint以及duster.json中自定义的脚本名。3. --diff只处理相对某分支的改动合并前把当前分支相对目标分支的改动清理干净./vendor/bin/duster fix --diffmain4. path指定要检查的路径默认检查当前目录也可显式传入一个或多个路径./vendor/bin/duster lint app tests进阶配置用 duster.json 自定义规则在项目根目录创建duster.json可以精确控制扫描范围示例见项目自带的 duster.json{ include: [app, config, tests], exclude: [tests/fixtures] }配置逻辑由 app/Support/DusterConfig.php 处理注意vendor/、node_modules/、storage/等目录默认已排除无需重复配置支持**/folderToExclude/**通配符写法在 lint / fix 中挂载自定义脚本比如把 PHPStan 静态分析并入检查流程{ scripts: { lint: { phpstan: [./vendor/bin/phpstan, analyse] } }, processTimeout: 120 }运行lint时 Duster 会自动执行这些脚本自定义脚本默认 60 秒超时可用processTimeout调整。自动化集成GitHub Actions 与 Husky HooksDuster 内置两条命令把检查直接嵌入工作流发布 GitHub Actions 工作流./vendor/bin/duster github-actions会在项目中生成 lint 和 fix 两套 CI 工作流模板位于 stubs/github-actions/ 目录。发布 Husky 提交钩子./vendor/bin/duster husky-hooks每次 git commit 前自动检查问题代码根本进不了仓库。如果你用 ddev、sail 等容器化环境没有本地 PHP可加--env参数指定执行环境./vendor/bin/duster husky-hooks --envddev常见问题QDuster 需要本地安装 PHP 吗A需要 PHP 8.2。没有本地 PHP 时可用 Laravel Sail 执行./vendor/bin/sail bin duster lint。Qlint 报错但 fix 修不掉怎么办Afix只能修复支持自动修复的规则PHP_CodeSniffer 检出的部分问题如命名规范需要手动处理可参考 style-guide.md 对照修改。Q只想用 Duster 的 Pint 规则可以吗A可以--usingpint即可单独运行。小结Duster 用两条命令解决了 Laravel 项目代码风格管理的核心痛点命令作用典型场景lint只检查、报告问题提交前确认、CI 卡点fix自动修复 报告剩余问题日常开发、合并前清理配合--dirty、--using、duster.json和 GitHub Actions / Husky Hooks 集成一套命令即可让团队代码风格长期保持一致。【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/duster创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考