4

我正在使用 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

4

2 回答 2

3

就在这里! 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

于 2017-02-03T13:30:07.687 回答
1

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

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

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

于 2020-09-24T14:25:00.967 回答