首页 > 教程 >
图文详解PHPStorm实现自动执行代码格式化
2023-12-01教程围观次
简介在我们日常开发中,一定少不了PHPCSFixer来帮我们统一代码风格,但是PHPCSFixer不像ESLint一样,可以在PHPStorm中在保存时自动执行。PHPStorm并没有为我们提供可执行PHPCSFixer的选项,「重新格式化代码」大部分时都不能满足我们的需求。为此我们需要在PHPStorm中添加一个「FileWatcher」来自动执行代码格式化。1、首先全局安装PHPCSFixerco
在我们日常开发中,一定少不了 PHP CS Fixer 来帮我们统一代码风格,但是PHP CS Fixer 不像 ESLint 一样,可以在 PHPStorm 中在保存时自动执行。
PHPStorm 并没有为我们提供可执行 PHP CS Fixer 的选项,「重新格式化代码」大部分时都不能满足我们的需求。
为此我们需要在 PHPStorm 中添加一个 「File Watcher」来自动执行 代码格式化。
1、首先全局安装 PHP CS Fixer
composer global require friendsofphp/php-cs-fixer
2、执行
php-cs-fixer
代表安装成功了,如果提示命令未找到,那么你需要将全局 composer vendor 目录添加到全局变量,我用的是 zsh,这里改成你自己的。
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
3、打开 PHPStorm,添加自定义文件
程序文件地址,命令行输入,并填入
which php-cs-fixer
参数栏:
fix $FileDir$/$FileName$
到这就搞定了,现在每当我们保存时就会自动执行 php-cs-fixer,现在还有一个问题,是可能每个项目有不同的 .php-cs.dist
格式化配置文件,以上的配置是使用了全局 php-cs-fixer 配置文件,如果要使用单独的配置文件,需要修改配置如下:
fix --config=$ProjectFileDir$/.php-cs.dist $FileDir$/$FileName$
.php-cs.dist
通常放在项目根目录。
最后附上 .php-cs.dist
配置文件
<?php$header = <<<'EOF'EOF;$finder = PhpCsFixerFinder::create() ->exclude('tests/Fixtures') //排除文件 ->in(__DIR__);return PhpCsFixerConfig::create() ->setRiskyAllowed(true) ->setRules([ '@PSR2' => true, '@Symfony:risky' => true, 'array_syntax' => ['syntax' => 'short'], 'combine_consecutive_unsets' => true, //多个unset,合并成一个 // one should use PHPUnit methods to set up expected exception instead of annotations 'general_phpdoc_annotation_remove' => ['expectedException', 'expectedExceptionMessage', 'expectedExceptionMessageRegExp'], //phpdocs中应该省略已经配置的注释 //'header_comment' => array('header' => $header), //添加,替换或者删除 header 注释。 'heredoc_to_nowdoc' => true, //删除配置中多余的空行和/或者空行。 'no_extra_consecutive_blank_lines' => ['break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block'], 'no_unreachable_default_argument_value' => false, //在函数参数中,不能有默认值在非缺省值之前的参数。有风险 'no_useless_else' => true, //删除无用的eles 'no_useless_return' => true, //删除函数末尾无用的return 'no_empty_phpdoc' => true, // 删除空注释 'no_empty_statement' => true, //删除多余的分号 'no_leading_namespace_whitespace' => true, //删除namespace声明行包含前导空格 'no_spaces_inside_parenthesis' => true, //删除括号后内两端的空格 'no_trailing_whitespace' => true, //删除非空白行末尾的空白 'no_unused_imports' => true, //删除未使用的use语句 'no_whitespace_before_comma_in_array' => true, //删除数组声明中,每个逗号前的空格 'no_whitespace_in_blank_line' => true, //删除空白行末尾的空白 'ordered_class_elements' => false, //class elements排序 'ordered_imports' => false, // use 排序 'phpdoc_add_missing_param_annotation' => true, //添加缺少的 Phpdoc @param参数 'phpdoc_trim' => true, // 'phpdoc_trim_consecutive_blank_line_separation' => true, //删除在摘要之后和PHPDoc中的描述之后,多余的空行。 'phpdoc_order' => true, 'psr4' => true, // 'strict_comparison' => true, //严格比较,会修改代码有风险 //'strict_param' => true, 'ternary_operator_spaces' => true, //标准化三元运算的格式 'ternary_to_null_coalescing' => true, //尽可能使用null合并运算符??。需要PHP> = 7.0。 'whitespace_after_comma_in_array' => true, // 在数组声明中,每个逗号后必须有一个空格 'trim_array_spaces' => true, //删除数组首或尾随单行空格 'align_multiline_comment' => [ //每行多行 DocComments 必须有一个星号(PSR-5),并且必须与第一行对齐。 'comment_type' => 'phpdocs_only' ], 'array_indentation' => true, //数组的每个元素必须缩进一次 ]) ->setFinder($finder);
下载链接:网站源码/小程序源码/网站模板下载
Tags:
相关文章
下载排行
- 微信小程序+公众号的流量主收入图在线制作微信小程序源码
- 梦想贩卖机v2版1.0.27知识付费小程序源码
- 苹果CMS V10专享版MXoneV10.6魔改版影视网站模板/二开大气短视频网站模板
- 在线教育知识付费类源码 带手机端+集成支付功能+课程分销系统
- H5网页漫画小说苹果cms模板源码/支持对接公众号/支持三级分销
- PHP带后台号卡推广管理系统源码
- 仿百度知道系统源码/知识问答系统源码/完整PC+手机端带功能强大后台管理系统
- 最新开源多城市地方房产门户系统源码/ThinkPHP房产房市营销推广系统去授权修复版自适应移动端
- 苹果cms V10自适应影视模板主题m1938工作室出品N615风格+安装说明
- 乐抖网络验证授权系统PHP网站源码附带搭建教程
最新发布
-
最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能
-
群多多社群人脉H5-2.1.4多开插件+小程序独立前端+搭建教程
-
七夕情侣飞行棋游戏限定版本源码/解锁版
-
苹果CMS海螺模版V20修复版/加广告代码
-
宠物社区风格 商业版(GBK)Discuz模板
-
全新UI基于Thinkphp的最新自助打印系统/云打印小程序源码/附教程
-
易优CMS家纺家居装饰类网站模板/EyouCMS家具家居类企业网站模板
-
EyouCMS艺术***摄影工作室网站模板/易优CMS摄影工作室网站模板
-
易优CMS响应式精品茶具实木茶盘销售网站模板/EyouCMS响应式酒水饮料类企业网站模板
-
EyouCMS响应式推土机挖掘机机械类网站模板/易优CMS机械设备类企业网站模板