Eclipse(PDT)恼人地将.phtml文件锁定到PHP内容类型

时间:2009-11-17 07:02:25

标签: php eclipse

我对PDT感到沮丧。我想将.phtml文件打开为HTML BUT .phtml被“锁定”到PHP内容类型,并且无法解锁它!

在HTML中打开.phtml文件会更有意义(对于Zend Framework用户),因为.phtml包含更多HTML和一些Javascript而不是PHP代码。

问题是,wtf会让Eclipse开发人员锁定某些文件类型吗?有没有办法“解锁”这个?

如果我右键单击该文件并选择打开方式 - > HTML编辑器,然后我收到此错误:

Could not open the editor: org.eclipse.wst.sse.ui.internal.StructuredTextViewer cannot be cast to org.eclipse.php.internal.ui.editor.PHPStructuredTextViewe

帮助任何人?

非常感谢, Wenbert

4 个答案:

答案 0 :(得分:8)

好的 - 多年后我发现了这个,并且有很多相同的挫折感。我终于注意到我可以改变订单,而不是进入XML。就我而言,我在Eclipse中安装了JBoss工具(不知道为什么我这样做)。它将自己作为PHP的默认编辑器,并在HTML编辑器中进行设置。我去了:

窗口 - >偏好 - >一般 - >编辑 - >文件关联

单击右侧的* .php(是的,我的所有关联编辑器都被锁定)。

我点击了“PHP编辑器...”,然后点击了“默认”按钮。

最后,你发现的修复似乎总是很明显。在我的情况下,我砸了我的头。

格雷格

enter image description here

答案 1 :(得分:2)

这是由PHP代码折叠中的错误引起的。在Preferences,PHP - >下,关闭PHP代码折叠作为解决方法。编辑 - >代码折叠。

答案 2 :(得分:1)

我可能会误判您的问题,但我认为您实际要问的是如何从Eclipse / PDT中的内容类型中删除“锁定”标志,而不是获取代码折叠错误。如果在定义该内容类型的plugin.xml文件中定义了这些内容类型,则这些内容类型将锁定到特定扩展名。这是一个非常类似于你所寻找的片段:

<!-- PHP Content Type declaration -->  
<extension  
    point="org.eclipse.core.contenttype.contentTypes">  
    <content-type  
        base-type="org.eclipse.core.runtime.text"  
        file-extensions="php,php3,php4,php5,phtml,inc,phps"  
        id="phpsource"  
        name="%content-type.name.0"  
        priority="high">  

如果您注意到文件扩展名行,只需从该列表中删除phtml并重新启动eclipse(可能使用-clean标志),它就不应再被锁定。诀窍是找到正确的XML文件,特别是如果它们经常在.jar档案中。

答案 3 :(得分:0)

看起来像bug 241468,并且已经在2008年底修复了PDT2.0.0

那你使用什么PDT版本? latest one(2.1与eclipse3.5)不应该再出现这个问题了。