【问题标题】:NetBeans: Code folds do not appear on one of my PHP filesNetBeans:我的一个 PHP 文件中没有出现代码折叠
【发布时间】:2011-11-05 21:00:30
【问题描述】:

我正在使用 NetBeans IDE。通常,我项目中的每个 PHP 文件都有代码折叠:

但是,我项目中的一个 PHP 文件没有代码折叠:

该文件没有语法错误。我尝试重新启动 NetBeans 并重新打开项目,但仍然没有出现折叠。会是什么?

更多信息:

  • 我使用的是 NetBeans IDE 7.0.1。
  • 与我项目中的所有 PHP 文件一样,该文件的扩展名是 .php
  • 在另一个内容完全相同的文件上,出现代码折叠。

【问题讨论】:

  • 没有。在我所有的 PHP 文件中使用 <?php
  • @Marek:谢谢,我已经编辑了问题并添加了更多信息。
  • 您能否通过将文件内容移动到另一个文件来复制行为?或者你能提供一个代码折叠不起作用的示例用例文件吗?
  • @Marek:不,我无法复制这种行为。我已将代码复制到一个新文件中,并且新文件确实包含我正在寻找的这些代码折叠。换句话说,我的真正问题解决了。不过,谜团还没有解开,所以我不删除问题。
  • @Marek:好的,我同意。我投票结束。

标签: php netbeans folding


【解决方案1】:

该问题在 NetBeans 11.2 中仍然存在,并且似乎是由代码中包含 HTML 引起的。

重现问题:两个折叠标签都不起作用。这可能是由于在“一些 HTML”之后简单地删除和替换 <?php 中的右 p 引起的。如果您删除 ?> <p>Some HTML</p> <?php 并将其粘贴回去,则折叠再次起作用。

<?php
// <editor-fold defaultstate="collapsed" desc="HTML in php function"> 
function test1() {
  // some PHP code
  ?>
  <p>Some HTML</p>
  <?php
  // Some more PHP
}
// </editor-fold> 
// <editor-fold defaultstate="collapsed" desc="More HTML"> 

function test2($url, $alt) {
  // some PHP code
  if (strlen($url)) {
    ?>
    <div class="divProductTableImage">
      <img class="imgProductTableImage" 
           src="<?php echo $url; ?>"
           alt="<?php echo $alt; ?>" />
    </div>
    <?php
  }
}
// </editor-fold>

【讨论】:

    【解决方案2】:

    刚刚注意到这似乎会影响具有 .以他们的名义,因为 Netbeans 不会自动添加 .php 扩展名。如果您使用 class.{classname} 作为文件名,则不会出现大纲,因为文件将以 .{classname} 作为扩展名而不是 .php。

    要解决此问题,如果您在创建新文件时使用 class.{classname} 作为文件名,请确保键入 .php。

    【讨论】:

      【解决方案3】:

      这个问题在 Netbeans 7.2.1 中仍然存在,不仅是 PHP,还有 java 代码,对我有用的方法是取消选中 [使用代码折叠:],如 o0omycomputero0o 的回答中所述,单击确定应用更改,然后重新检查[使用代码折叠:],然后单击确定,它有点重新验证代码折叠到预期状态,不需要重新加载 IDE。

      【讨论】:

      • 非常感谢。你会相信吗?从过去的 1.5 年开始,我一直在为此苦苦挣扎。
      【解决方案4】:

      如果您正在处理 .htmlfile 并且遇到此问题,请检查文档中是否有任何错误,因为如果 Netbeans 在 html 标签中发现语法错误,它似乎会禁用代码折叠。

      在我的例子中,很少有锚标签被错误的结束标签关闭。

      wrong >>    <h5><a href="mailto:gracias@email.com">Mucho Grassy Ass<a/></h5>
      
      right >>    <h5><a href="mailto:gracias@email.com">Mucho Grassy Ass</a></h5>
      

      纠正上述错误后,代码折叠正确出现。

      【讨论】:

        【解决方案5】:

        如果它发生在netbean 8中,您可以转到工具>选项>编辑器>折叠,选择语言为PHP(或您发现不能正确折叠代码的任何语言),取消选中“启用代码折叠",点击确定。然后转到工具>选项>编辑器>折叠并检查“启用代码折叠”,单击确定,然后它可能会工作:)。

        【讨论】:

          【解决方案6】:

          我刚刚发现对我个人很重要的事情:

          如果你有这样的 cmets &lt;!-------- ------&gt;

          不仅仅是 2 个破折号 &lt;!-- --&gt; 然后 netbeans 似乎感到困惑。

          去掉多余的破折号,代码折叠就会神奇地出现。

          【讨论】:

            【解决方案7】:

            @sudhir chauhan:如果没有选择代码折叠,其他 php 文件就不会折叠。

            这是 Netbeans 的一个已知错误,非常烦人,并且在我编辑 PHP 时偶尔也会发生。唯一的解决方案是保存文件,关闭 Netbeans IDE 并重新打开 Netbeans。

            有时您展开代码并单击以重新折叠,但您无法解决此相关问题,只需单击折叠外的一行(即上面的函数),然后单击“-”重新折叠代码。

            【讨论】:

            • 这可行,但您应该注意,您还必须关闭错误文件的选项卡。
            【解决方案8】:

            按照以下步骤操作:

            1) 打开 netbeans 2)选择工具=>选项 3) 选择编辑器选项卡和常规子选项卡 4)并检查代码折叠复选框

            查找附件图片了解详情。


            【讨论】:

            • 这不是配置问题,而是在 NetBeans 中经常发生的错误。不幸的是,不仅在 PHP 项目中,更不幸的是,它从至少 6.7 一直持续到 7.1.1。非常讨厌。
            • 重新打开文件临时解决问题。这个技巧在 NB 7.3 中有效
            • 因为对已接受答案的正面或中立投票太主流了,=.= 至少现在是 -1..
            • 在 8.1 中仍然存在问题。一定会喜欢 Netbeans。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-09-25
            • 2022-11-04
            • 2013-02-13
            • 2011-01-24
            相关资源
            最近更新 更多