针对Symfony编码标准调整Eclipse PHP代码格式化程序

时间:2016-05-17 03:07:03

标签: php eclipse symfony

如何为Symfony coding standards修改Eclipse PHP代码格式化程序?

特别是我想摆脱代码格式化程序在编写时添加任何默认配置文件的spaces around concatenation operator

$a = $b->bar.'*'.$c->baz; // not $b->bar . '*' . $c->baz

代码格式化程序允许export and import a profile in XML,但不清楚它中的哪个指令负责上述空格。

请参阅此slightly modified PSR-2 profile我作为起点,但没有成功。

4 个答案:

答案 0 :(得分:2)

在您的个人资料配置,空格标签中,您需要取消选中: 在运营商之前>二元运算符 在运营商之后>二元运算符

可悲的是,这不仅影响字符串上的连接运算符,其他运算符也不会有空格。

形成器的目的是让所有操作符具有相同的格式,所以这是有道理的,因为the dot is an operator根据文档。

答案 1 :(得分:2)

遗憾的是,如果没有编辑源代码,这是不可能的。您可以更改自己的源代码或询问功能请求以使其发生,没有人知道是否有人会这样做。

以下是可编辑的偏好设置,我在任何地方都看不到。

https://github.com/eclipse/pdt/blob/master/plugins/org.eclipse.php.formatter.core/src/org/eclipse/php/formatter/core/CodeFormatterPreferences.java

答案 2 :(得分:2)

我不使用Eclipse,但这应该有效:

根据Symfony的coding standards

  

Symfony遵循PSR-0,PSR-1,PSR-2和PSR-4文件中定义的标准。

这意味着你只需要为Eclipse找到一个PSR代码格式化程序。

这是PSR的Eclipse格式化程序:

我还使用了在Linux上运行的非Eclipse工具:PHP Coding Standards Fixer。它非常整洁,包括Symfony支持。

Documentation表明这样的事情应该有效:

$ php php-cs-fixer.phar fix /path/to/project --rules=@Symfony

而且,如果你不想只使用命令行,那么进一步挖掘会让我发现一个包含PHP Coding Standards Fixer的Eclipse插件。

答案 3 :(得分:0)

你很可能不会认为这是一个答案,但无论如何都要张贴。

Symfony编码标准不会改变项目的工作方式,如果你遵循它也不会让它变得更快。
最后,它是你的服务器完成这项工作,只要没有错误,无论它是如何形成的,它都接受PHP。

Structude编码标准主要是为了让您轻松阅读代码,并帮助您避免基本错误。

命名约定,包括的服务,是任何PHP项目的基础。

你会很快注意到,无论如何,你必须使用PHPDoc(例如:ParamConverter

最后,如果你写if (1==1)if(1 == 1),也没关系,也不要在下一行打开braket(我把它保持在同一条线上)。 /> 只要您的代码干净且您可以轻松理解它,它就是最重要的 除非你是一个我认识的人并且在一条线上编写所有代码(真实故事),否则你就会被搞砸。

关于你的问题,Eclipse并不够灵活,无法做你想做的事 它很可能永远都不会,因为它是免费的,没有人可以开发它。

我花了几年时间找到一个好的IDE ...... 我将根据我2年前提出的建议向您提出建议,并且其他人也会建议您使用PhpStorm中的JetBrains

如果你碰巧是学生或老师,你可以免费获得 否则,您将不得不为此付费,但说实话,个人客户许可证非常便宜/年。

我还要补充说,拥有一个优秀而完整的IDE可以帮助您改善不良的编码习惯 我确信大多数PhpStorm用户无法计算他们使用PhpStorm检查工具纠正的不良习惯的数量。

希望你会发现这个答案令人满意。