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