如何为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我作为起点,但没有成功。
答案 0 :(得分:2)
在您的个人资料配置,空格标签中,您需要取消选中: 在运营商之前>二元运算符 在运营商之后>二元运算符
可悲的是,这不仅影响字符串上的连接运算符,其他运算符也不会有空格。
形成器的目的是让所有操作符具有相同的格式,所以这是有道理的,因为the dot is an operator根据文档。
答案 1 :(得分:2)
遗憾的是,如果没有编辑源代码,这是不可能的。您可以更改自己的源代码或询问功能请求以使其发生,没有人知道是否有人会这样做。
以下是可编辑的偏好设置,我在任何地方都看不到。
答案 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检查工具纠正的不良习惯的数量。
希望你会发现这个答案令人满意。