php 我们可以按照WordPress编码标准在VS代码中设置Intelephense吗?

pieyvz9o  于 2023-03-07  发布在  PHP
关注(0)|答案(2)|浏览(215)

我正在使用PHPCS和PHPCBF的WordPress开发VS代码。
(根据https://github.com/tommcfarlin/phpcs-wpcs-vscode中提到的说明)
虽然PHPCBF按照WPCS格式化代码,但我仍然觉得代码看起来很难看,尤其是当HTML标记出现在PHP文档中时。
当我使用Intelephense来格式化Php代码时,代码看起来很漂亮,包括适当缩进的Html标签。使用Intelephense的代价是代码不再符合WPCS标准。有一个选项可以将WordPress作为存根包含在Intelephense中,但这只适用于包含WordPress特定的功能,与格式无关。
使用Intelephense格式化时面临的一些问题是:
1.左括号后和右括号前无空格,(phpcs)
1.文件注解前不能有空行(phpcs)

<?php
// this is a blank line inserted by Intelephense which is causing error no.2 provided in summary above
/**
 * This is a sample file
 *
 * @package something.
 * something something
 * something something
 */

get_header();
if (have_posts()) {
    while (have_posts()) {
// No space is inserted by Intelephense After opening and before Closing parenthesis which is causing error no.1 provided in summary above
        the_post(); ?>
        <h2>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?> </a>
        </h2>
        <?php the_content(); ?>
        <hr>
<?php
    }
}
get_footer();
?>
nr7wwzry

nr7wwzry1#

This issue以“虽然此扩展不使用phpcbf”作为结束语,所以我不确定如何使用Intelephense for VS Code来完成此操作。
但是如果您正在寻找一种解决方案,在VS Code中使用phpcbf作为php文件的格式化程序,并且您的phpcbf已经设置好,并且您已经安装了所有的coding standards,那么您可以使用phpcbf from Per Soderlind
然后,如果您重新加载编辑器,并尝试使用Ctrl+Shift+I(或您喜欢的方法)格式化一个php文件,将出现一个弹出窗口,您必须选择您喜欢的格式化程序。

那么您应该选择显示valeryanm.vscode-phpsab的选项卡

或者,如果弹出窗口没有出现,只需将以下内容添加到您的settings.json

"[php]": {
        "editor.defaultFormatter": "valeryanm.vscode-phpsab"
    },

现在无论何时你尝试格式化它phpcbf将运行在整个文档。

sd2nnvve

sd2nnvve2#

我使用phpcs + phpcbf(它们一起提供)和intelephense的组合来实现WPCS嗅探和格式化。
你提到的两个问题:
1.左括号后和右括号前无空格,(phpcs)
1.文件注解前不能有空行(phpcs)
我通过将phpcbf配置为使用"WordPress-Core"标准(而phpcs使用"WordPress"标准)来修复这些问题。
这是我能够强制执行WPCS空白要求而不只是在phpcs.xml文件中排除这些规则的唯一方法
在VS代码中我们有phpcsphpcbf扩展,允许你在打开和保存文件时运行这两个扩展。它们允许你从VS代码settings.json传递配置设置,phpcbf的设置如下所示:

"phpcbf.standard": "WordPress-Core"

相关问题