如何将 PHP 代码大括号自动格式化为 VS Code 中的新行
How to auto format PHP code curly braces to new lines in VS Code
我目前正在使用 VS Code 的最新版本 1.41.1(在撰写本文时)。
我已经安装了 PHP CS Fixer 来自动格式化我的代码。但是有一种行为我不喜欢。它总是像这样格式化代码:
if (condition) {
// code...
} else {
// code
}
但这并没有给我很好的可读性。
我想实现这个:
if (condition)
{
// code...
}
else
{
// code
}
在 VS Code 中是否有支持此代码格式的扩展 PHP?或者 PHP CS Fixer 中是否有任何选项可以跳过格式化这些大括号?还有其他选择吗?
根据@Nicolas 的评论,我分两步完成。
- 我必须在项目的根目录中创建一个名为
.php_cs
的文件
将此代码块添加到文件中:
<?php
return PhpCsFixer\Config::create()
->setRules(array(
'braces' => array(
'position_after_anonymous_constructs' => 'next',
'position_after_control_structures' => 'next',
)
));
全部完成,效果非常好。感谢@Nicolas 的帮助!
也在找同样的东西。我尝试了 Radical_activity 给出的(接受的)答案,但这对我不起作用。在这里找到了另一个片段:
片段:
<?php
$finder = PhpCsFixer\Finder::create()
//->exclude('somedir')
//->notPath('src/Symfony/Component/Translation/Tests/fixtures/resources.php'
->in(__DIR__)
;
return PhpCsFixer\Config::create()
->setRules([
'@PSR2' => true,
'strict_param' => false,
'array_syntax' => ['syntax' => 'long'],
'braces' => [
'allow_single_line_closure' => true,
'position_after_functions_and_oop_constructs' => 'same'],
])
->setFinder($finder)
;
您还需要从中在您的存储库中创建一个 .php_cs
文件。
这对我有用!
我目前正在使用 VS Code 的最新版本 1.41.1(在撰写本文时)。
我已经安装了 PHP CS Fixer 来自动格式化我的代码。但是有一种行为我不喜欢。它总是像这样格式化代码:
if (condition) {
// code...
} else {
// code
}
但这并没有给我很好的可读性。
我想实现这个:
if (condition)
{
// code...
}
else
{
// code
}
在 VS Code 中是否有支持此代码格式的扩展 PHP?或者 PHP CS Fixer 中是否有任何选项可以跳过格式化这些大括号?还有其他选择吗?
根据@Nicolas 的评论,我分两步完成。
- 我必须在项目的根目录中创建一个名为
.php_cs
的文件
将此代码块添加到文件中:
<?php return PhpCsFixer\Config::create() ->setRules(array( 'braces' => array( 'position_after_anonymous_constructs' => 'next', 'position_after_control_structures' => 'next', ) ));
全部完成,效果非常好。感谢@Nicolas 的帮助!
也在找同样的东西。我尝试了 Radical_activity 给出的(接受的)答案,但这对我不起作用。在这里找到了另一个片段:
片段:
<?php
$finder = PhpCsFixer\Finder::create()
//->exclude('somedir')
//->notPath('src/Symfony/Component/Translation/Tests/fixtures/resources.php'
->in(__DIR__)
;
return PhpCsFixer\Config::create()
->setRules([
'@PSR2' => true,
'strict_param' => false,
'array_syntax' => ['syntax' => 'long'],
'braces' => [
'allow_single_line_closure' => true,
'position_after_functions_and_oop_constructs' => 'same'],
])
->setFinder($finder)
;
您还需要从中在您的存储库中创建一个 .php_cs
文件。
这对我有用!