【问题标题】:Run PHP CS fixer with GrumPHP使用 GrumPHP 运行 PHP CS 修复程序
【发布时间】:2020-09-24 22:25:00
【问题描述】:

我正在使用 GrumPhp 来嗅探我在 symfony 项目中的提交:https://github.com/phpro/grumphp

这是我的配置:

parameters:
    git_dir: .
    bin_dir: vendor/bin
    tasks:
        phpcsfixer:
            config_file: ~
            config: sf23
            fixers: [psr2, symfony, indentation]
            level: psr2
            verbose: true

我的问题是:

有没有办法让 Grumphp 在我提交时自动运行php-cs-fixer

【问题讨论】:

标签: php symfony phpcs


【解决方案1】:

是的,有! https://github.com/phpro/grumphp/blob/master/doc/tasks.md

由于您的帖子有点旧,这里是新更新的文档,但您仍然可以使用版本一! https://github.com/phpro/grumphp/blob/master/doc/tasks/php_cs_fixer2.md

你可以试试这个配置,但它是 phpcsfixer version2!:

# grumphp.yml
parameters:
    bin_dir: "./vendor/bin"
    git_dir: "."
    hooks_dir: ~
    hooks_preset: local
    stop_on_failure: false
    ignore_unstaged_changes: false
    process_async_limit: 10
    process_async_wait: 1000
    process_timeout: 60
    ascii:
        failed: grumphp-grumpy.txt
        succeeded: grumphp-happy.txt
    tasks:
        phpcsfixer2:
        allow_risky: false
        cache_file: ~
        config: ~
        rules: ['@Symfony']
        using_cache: true
        path_mode: ~
        verbose: true

您的配置看起来不错,输出是什么? 您是否安装了 cs fixer 并将 grumPHP 配置配置为您的 CS fixer 的路径? https://github.com/FriendsOfPHP/PHP-CS-Fixer#usage

【讨论】:

    【解决方案2】:

    GrumPHP 始终使用 --dry-run 参数运行 php-cs-fixer,并且此行为不可配置。你可以在这里阅读原因:https://github.com/phpro/grumphp/issues/110

    但是有一种方法可以自动运行php-cs-fixer:您必须在“grumpphp.yml”文件中安装GrumPHP Extra Tasks 并将phpcsfixer2 替换为php_cs_auto_fixerv2

    请注意,截至今天,GrumPHP Extra Tasks 与最新版本的 GrumPHP 不兼容,但最高为 0.17.2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2013-04-22
      • 2016-10-01
      相关资源
      最近更新 更多