我们能否按照WordPress编码规范在VS Code中设置Intelephense?

7

我在VS Code中使用PHPCS和PHPCBF进行WordPress开发。(按照https://github.com/tommcfarlin/phpcs-wpcs-vscode中的说明)

虽然PHPCBF会按照WPCS格式对代码进行格式化,但我仍然觉得代码看起来很丑,特别是当PHP文档中存在HTML标签时。

当我使用Intelephense格式化Php代码时,代码外观看起来非常舒适,包括正确缩进的Html标签。使用Intelephense的代价是代码不再符合WPCS规范。有一个选项可以将WordPress作为存根包含在Intelephense中,但那仅适用于包含WordPress特定函数而与格式无关。

使用Intelephense进行格式化时遇到的一些问题:

  1. 左括号之后和右括号之前没有空格 (phpcs)
  2. 文件注释之前不能有空行 (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();
?>
2个回答

0

这个问题已经得出结论:“这个扩展程序并没有使用phpcbf”,所以我不确定你如何在Intelephense for VS Code中具体实现它。

但是,如果你正在寻找一种解决方案,在VS Code中使用phpcbf作为你的php文件格式化程序,并且你的phpcbf已经设置好并安装了所有编码标准,那么你可以使用Per Soderlind的phpcbf

然后,如果你重新加载编辑器并尝试使用Ctrl+Shift+I(或你喜欢的方法)格式化一个php文件,将会弹出一个窗口,你必须选择你喜欢的格式化程序。

enter image description here

然后您应该选择标有valeryanm.vscode-phpsab的那个。

enter image description here

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

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

现在,每当您尝试对其进行格式化时,phpcbf 将在整个文档上运行。

0

我正在使用 phpcs + phpcbf 的组合(它们一起提供)和 intelephense 来实现 WPCS 代码嗅探和格式化。

您提到的两个问题:

  1. 开括号后和闭括号前没有空格(phpcs)
  2. 文件注释前不能有空行(phpcs)

我通过将 phpcbf 配置为使用 "WordPress-Core" 标准来解决了这些问题 phpcs 使用 "WordPress" 标准)

这是我仅有的实施 WPCS 空格要求的方法,而不是在 phpcs.xml 文件中排除这些规则

在 VS Code 中,我们有 phpcsphpcbf 扩展,可以让你在打开和保存文件时运行它们。它们允许你从 VS Code 的 settings.json 文件中传递配置设置,对于 phpcbf,这些设置将如下所示:

"phpcbf.standard": "WordPress-Core"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接