我该如何让Eclipse PDT中的单词换行功能在PHP文件中生效?

52

在Eclipse PDT中编写PHP代码非常方便:有代码补全、模板、方法跳转等功能。

然而,令我抓狂的是,我无法让PHP文件中的行自动换行,导致在较长的行上我的输入不断地向右延伸。

我点击“Windows|Preferences”并输入“wrap”,得到以下内容:

- Java | Code Style | Formatter
- Java | Editor | Typing
- Web and XML | CSS Files | Source

我尝试更改那里找到的"自动换行"和"行宽"为72,但没有效果。

如何在Eclipse PDT中使PHP文件的自动换行正常工作?


我认为@Fedir的答案应该被接受,因为它具有最新的插件。 - Nishant
4个回答

66

这是 Eclipse 中最受欢迎的功能之一。 它不仅在 PHP 文件中缺失,而且在整个 IDE 中都缺失。 幸运的是,我们可以从 Google Summer of Code 获得这个插件 Eclipse Word-Wrap

要安装它,请在 Eclipse 中添加以下更新站点:

AhtiK Eclipse WordWrap 0.0.5 更新站点


1
安装仅花了3分钟,现在我有了自动换行功能,太棒了,谢谢。 - Edward Tanguay
2
链接无法使用。错误信息:“建立数据库连接错误”。 - sudip
1
看起来他的整个网站都挂了 :( 希望这只是暂时的。 - Swati
2
我已经安装了它,但需要在每个页面上启用它。我想一次性检查它。有人遇到过类似的问题吗? - Bor
1
这个插件已经不再维护,也无法在最新的Eclipse上运行。请查看下面Fedir的回答! - xji

15

Eclipse Word-Wrap插件由Florian Weßling开发,可在Eclipse PDT(3.0.2)上良好运行。

安装和更新站点

建议在安装后立即使用-clean选项重新启动Eclipse。

Eclipse Indigo 3.7:http://dev.cdhq.de/eclipse/updatesite/indigo/
Eclipse Juno 4.2:http://dev.cdhq.de/eclipse/updatesite/juno/
Eclipse Kepler 4.3:http://dev.cdhq.de/eclipse/updatesite/kepler/
Eclipse Luna 4.4:http://dev.cdhq.de/eclipse/updatesite/luna/
Eclipse Mars 4.5:http://dev.cdhq.de/eclipse/updatesite/mars/
Eclipse Neon 4.6:插件不必要。*只需按Alt-Shift-Y即可 :)

*请参见KrisWebDev的答案获取更多详情以及如何使换行永久。

使用方法

安装插件后:

  • 上下文菜单:右键单击 > 切换自动换行
  • 菜单栏:编辑 > 切换自动换行
  • 键盘快捷键:Ctrl-Alt-E
  • 你也可以:编辑 > 在所有打开的编辑器中启用自动换行

当前自动换行设置的状态没有专门的指示器,但您可以检查编辑器中的水平滚动条。

  • 水平滚动条可见:未启用自动换行。
  • 水平滚动条不可见:已启用自动换行。

1
这是正确的解决方案。之前的插件在最新的Eclipse上停止工作了。 - xji
1
更新链接: Eclipse Kepler 4.3: http://dev.cdhq.de/eclipse/updatesite/kepler/ Eclipse Luna 4.4: http://dev.cdhq.de/eclipse/updatesite/luna/ Eclipse Mars 4.5: http://dev.cdhq.de/eclipse/updatesite/mars/ 安装后需要重新启动Eclipse。 - pgr
1
@pgr 我,J,K,L,M,N... 添加了 :) - ADTC
@EdwardTanguay 考虑接受这个答案,因为它涵盖了从Indigo到Neon的所有版本。对于Neon(其中换行是基本功能),它引用了KrisWebDev的答案以获取更多详细信息。当前接受的答案指向一个已过时且不再维护的插件 - 它仅适用于非常旧的Eclipse版本。 - ADTC
@ADTC 你比我幸运。在11月份,我试图在发表评论之前编辑问题。但是我的编辑被拒绝了,原因我完全无法理解... http://stackoverflow.com/review/suggested-edits/10375180 - pgr
1
@pgr 不是很幸运。特权 ;) PS:我同意逻辑是100%有缺陷的。如果我在审查小组中,我会批准您的编辑。该链接本身就说:“随着帖子变老,添加补充/更新”是您应该编辑页面的原因之一。 - ADTC

10

终于有一些在2016年具有本地支持的东西可用了!

您想要最新和更新的NEON版本的Eclipse,因为 Bug 35779终于被修补:

  • 使用Eclipse安装程序
  • 点击右上角的“菜单”图标并选择高级模式
  • 选择Eclipse IDE for PHP Developers,并将产品版本设置为:Latest
  • 下一步...下一步,完成

现在,您可以手动切换每个文件的自动换行,使用Alt+Shift+Y!枯燥无味!

如果你很幸运的话,在Window > Preferences > General > Editors > Text Editors > Enable Wordwrap里面应该有一个不错的全局设置,但是那是个陷阱,没有GUI设置!至少在撰写本文时是这样。

所以我已经找到了一种艰难的方法来全局设置它(默认情况下):

  1. 关闭Eclipse
  2. 查找org.eclipse.ui.editors.prefs Eclipse设置文件:

    find ~ -name org.eclipse.ui.editors.prefs -printf "%p %TY-%Tm-%Td %TH:%TM:%TS\n"

如果你在像macOS这样的平台上,以上命令无法使用,你可以在当前工作区文件夹下的.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs中找到设置文件。

  1. Add:

    wordwrap.enabled=true


1
谢谢。已确认在Java的Eclipse中工作正常。我认为它应该适用于任何Eclipse版本,不仅限于PHP,因为它是一个基本功能。能否概括一下第三步(选择您选择的Eclipse产品版本:“最新(Neon)”)?此外,删除您的抱怨会使答案更优质 ;) - ADTC
1
这应该是一个被接受的答案。最后,“eclipse”内置了“自动换行”功能。感谢您的回答。 - EGurelli
在Windows安装中,该文件位于工作区的<workspace>.metadata.plugins\org.eclipse.core.runtime.settings\org.eclipse.ui.editors.prefs。 - simpleuser

9

这是一个已知的增强请求。 Bug 35779


2
多么可惜的优雅IDE啊。:'( - ankush981
是的,不仅如此,Eclipse一向缺乏基本的编辑器功能,而且他们似乎并不在意解决这个问题(至少在Neon中修复了一些)。不仅缺少自动换行功能,工具栏(管理起来很麻烦)也没有撤销/重做按钮!我必须使用另一个插件来添加它们。 - ADTC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接