安装php formatter和php cs fixer扩展;2. 在vscode设置中启用format on save并指定psr风格(如@psr2);3. 配置php-cs-fixer.executablepath为正确路径(如/usr/local/bin/php-cs-fixer);4. 若保存不格式化,检查formatonsave、defaultformatter及文件类型;5. 自定义规则可在php-cs-fixer.rules中设置,如{“rules”: {“@psr12”: true, “strict_param”: true}},修改后重启vscode生效。

用VSCode配置PHP格式标准PSR规范,核心在于安装合适的扩展和进行正确的配置。简单来说,你需要安装PHP Formatter和PHP CS Fixer这两个扩展,然后配置VSCode的settings.json文件。

解决方案
安装扩展:
打开VSCode,点击左侧的扩展图标(或使用快捷键Ctrl+Shift+X)。搜索并安装以下扩展:PHP Formatter (作者:junstyle)PHP CS Fixer (作者:junstyle)
配置PHP Formatter:
立即学习“PHP免费学习笔记(深入)”;
打开VSCode的设置(文件 -> 首选项 -> 设置,或者使用快捷键Ctrl+,)。搜索php formatter。确保Format On Save被勾选,这样每次保存文件时都会自动格式化。可以根据需要调整其他选项,例如PHP Formatter: Style,选择你喜欢的代码风格(PSR2是一个不错的选择)。
配置PHP CS Fixer:
MOKI
MOKI是美图推出的一款AI短片创作工具,旨在通过AI技术自动生成分镜图并转为视频素材。
375 查看详情
在VSCode的设置中搜索php cs fixer。找到Php-cs-fixer: Enable,确保它被勾选。找到Php-cs-fixer: Rules,这里可以配置具体的PSR规则。你可以选择预定义的规则集,例如@PSR2或者@Symfony。也可以自定义规则,例如{"rules": {"@PSR12": true, "strict_param": true}}。找到Php-cs-fixer: Executable Path,配置PHP CS Fixer的可执行文件路径。如果你的PHP CS Fixer是全局安装的,可以直接输入php-cs-fixer。否则,需要指定到具体的phar文件,例如/usr/local/bin/php-cs-fixer或C:php-cs-fixer.phar。
配置settings.json(可选但推荐):
点击VSCode设置右上角的打开设置(JSON)按钮,编辑settings.json文件。添加以下配置:
{ "editor.formatOnSave": true, "[php]": { "editor.defaultFormatter": "junstyle.php-formatter" }, "php-cs-fixer.executablePath": "/usr/local/bin/php-cs-fixer", // 替换成你的php-cs-fixer路径 "php-cs-fixer.rules": "@PSR2"}
确保替换php-cs-fixer.executablePath为你实际的PHP CS Fixer路径。
测试配置:
创建一个新的PHP文件或者打开一个现有的PHP文件。故意写一些不符合PSR规范的代码,例如缩进错误、缺少空格等。保存文件(Ctrl+S)。如果一切配置正确,VSCode会自动格式化代码,使其符合PSR规范。
如何解决PHP CS Fixer执行路径问题?
PHP CS Fixer的执行路径没配对,绝对是个常见问题。首先,你要确认PHP CS Fixer是不是真的安装好了。全局安装的话,直接在终端输入php-cs-fixer --version,看看能不能输出版本号。如果不行,那就说明要么没装,要么环境变量没配置好。没装就得用Composer全局安装:composer global require friendsofphp/php-cs-fixer。装好之后,再看看~/.composer/vendor/bin是不是在你的环境变量PATH里。如果不是全局安装,而是项目依赖,那路径就得指向./vendor/bin/php-cs-fixer。总之,executablePath指向的必须是能执行的php-cs-fixer文件。
为什么我的代码保存后没有自动格式化?
自动格式化失效,往往是几个原因。第一,editor.formatOnSave没打开,这个是最常见的。第二,可能你装了不止一个PHP格式化插件,VSCode不知道用哪个,这时候就要在settings.json里明确指定editor.defaultFormatter。第三,有可能你的文件类型VSCode没识别成PHP,看看右下角的文件类型是不是PHP。如果不是,手动改成PHP试试。还有一种情况,就是PHP Formatter或者PHP CS Fixer本身出了问题,可以尝试重启VSCode,或者重新安装插件。最后,检查一下你的PHP语法有没有错误,有时候语法错误会导致格式化失败。
如何自定义PHP CS Fixer的规则?
自定义规则,这个就比较灵活了。你可以修改php-cs-fixer.rules的值。比如,你想用PSR12规范,但同时强制使用严格参数类型声明,就可以这样写:{"rules": {"@PSR12": true, "strict_param": true}}。@PSR12表示使用PSR12规则集,strict_param表示开启严格参数类型声明。你还可以排除某些规则,比如不想用数组的短语法,可以这样写:{"rules": {"@PSR12": true, "array_syntax": {"syntax": "long"}}}。更复杂的规则,可以参考PHP CS Fixer的官方文档,里面有详细的规则说明。记住,每次修改规则后,最好重启一下VSCode,让配置生效。
以上就是如何用VSCode配置PHP格式标准 PSR规范在VSCode中的设置方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/816647.html
微信扫一扫
支付宝扫一扫