【问题标题】:Coding style: Tools to autoformat existing php files automatically?编码风格:自动自动格式化现有 php 文件的工具?
【发布时间】:2012-04-04 17:21:14
【问题描述】:

谁能推荐能够“规范化” php 文档编码风格的工具/插件?

我经常发现自己使用不同作者的过时代码库,它们遵循不同的编码风格或根本没有编码风格。在处理这些文档之前,我经常发现我必须清理代码,并且对于很多事情,我只需要进行正则表达式搜索和替换,比如修复大括号缩进、新行、点连接符、运算符周围的空格等等。 ..

我使用 Aptana Studio 并且喜欢它提供的默认 php 格式,这对于编写符合编码风格的新代码非常有用。理想情况下,我正在寻找某种工具或插件,它可以采用现有代码,甚至只是稍微采用给定的编码风格(甚至是一组正则表达式搜索和替换)。

有人有什么提示吗?

P.S.:请注意,我本身并不是在寻求关于执行编码标准的建议,而是关于如何自动将旧代码库适应编码标准。

编辑:我发现了这个主题Aptana auto format:Aptana 支持通过快捷键 cmd + shift + f 将代码格式化为活动编码样式。从我到目前为止的尝试来看,它的行为有点奇怪,并且不完全产生我期望的那种输出。所以,虽然这可能是我可以开始工作的事情,但我仍然会对其他解决方案感兴趣。

编辑 #2:还发现此主题 How to format code on aptana 3? 指出目前在 Aptana 中无法重新格式化文件夹/项目范围。

编辑#3:使用正确答案意识到指向 PEAR Code Beautifier 的链接。它需要自己阅读:) 就我个人而言,我发现最接近我正在寻找的是 Aptana 的 / Net Beans 的源格式化工具。为了完整起见,我还发现了一个看起来很有希望的 Windows 命令行工具:http://www.waterproof.fr/products/phpCodeBeautifier/

【问题讨论】:

  • 不知道它会有多大帮助,但是 NetBeans 有可配置的自动编码的东西(比如在哪里放置空格、大括号放在新行或相同的位置等等),它可以接收一个文件并根据您的设置对其进行格式化。 (但一次只能一个文件。)
  • Aptana 应该能够至少在每个文件的基础上处理所有这些。如果不能,您可能使用了错误的 ide。我使用 Netbeans 并且可以使用 'alt shit f' 格式化整个文件。我不确定我是否想要自动化这个过程,但我确信有人有一个 ant 脚本或插件来对整个项目或代码库进行自动格式化。 Netbeans 也有很好的查找和替换功能,它支持各种搜索条件,包括正则表达式。我没有使用任何付费游戏 Ide,它们对于非专业人士来说太贵了,所以我没有可比性。
  • 感谢您的 cmets。 Aptana 确实有可编辑的编码风格偏好设置,我喜欢它们。我的问题是将相同的编码风格应用于现有的混乱/不同编码风格的文档。 Aptana 搜索和替换很好,并且确实具有正则表达式 - 这里唯一可能是解决方案的事情是,如果 IDE 可以让我在文件上运行 x 次保存正则表达式搜索和替换。

标签: php regex coding-style ide aptana


【解决方案1】:

您可以查看 PEAR 代码美化器:http://pear.php.net/package/PHP_Beautifier

【讨论】:

  • 试图让它在我的电脑上安装我的 xampp 工作。虽然安装说 PEAR 包已安装并且我可以找到它,但我找不到包文档提到的命令行使用的 php_beautifier.bat - 我猜命令行使用是我在这里寻找的,而不是脚本用法:?
  • 在我的安装中,.BAT 文件位于 xampp/php。
  • 终于花点时间整理一下如何使用、升级和安装 pear 包并从命令行使用它。虽然我喜欢 Aptana 的文件编辑级别格式,但我只是让 PHP_Beautifier 将整个项目的代码库整合在一起,我的下巴掉了下来 :) 再次感谢。
【解决方案2】:

找到了一个php脚本,可以重新格式化php,叫做PHP tidy

http://phptidy.berlios.de/

我准备了一个项目中所有 php 文件的列表,它做得很好。

【讨论】:

  • 试运行了这个,但考虑到我正在寻找的结果,它给我的结果只是很小的改进。通过快速检查,它确实修复了这里或那里的一些缩进,但总的来说,我不认为可以看到这个脚本强制执行给定的,更不用说可编辑的编码风格。感谢您的回答。
【解决方案3】:

请参阅我们的PHP Formatter

它将格式化单个文件或一组文件。

【讨论】:

  • 您的Trail注册表为公司或个人使用提供了一个RadioButtons,但是,在选择个人使用时,除非我喂公司名称,否则表格将不会提交。不过很想试一试。
  • @kontur:对单选按钮感到抱歉。在我们解决这个问题时撒谎。
  • 谢谢,Foobar Ltd 现在测试了您的软件。经过一些颠簸的安装后,我让它运行起来,感觉它不会特别好地达到我在问题中描述的效果。我没有使用混淆工具,也无法对实际的幕后工作做出太多判断,但是虽然代码格式似乎始终如一地执行,但我没有看到任何关于如何根据我选择的编码风格转换代码的选项.如果没有这种可能性,它对我的​​帮助就没有那么大。
  • @kontur 你读过文档吗?他们列出了一组配置开关。对颠簸感兴趣;请通过私人电子邮件发送注释,但我们希望尽可能将颠簸敲平。
  • 在评估程序时,我确实浏览了文档和用于操作格式的控制台说明。我正在寻找的是更易于使用。尽管我正在寻找 Aptana 代码格式化程序的替代方案,但我一直在提及它的积极方面 - 例如,一个直观的 gui,让您可以预览强制执行的编码样式。 (见osde8info.files.wordpress.com/2008/10/…
猜你喜欢
  • 2011-03-02
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
  • 2012-03-13
  • 2010-12-07
相关资源
最近更新 更多