【问题标题】:Is there a way to fold eclipse sub-blocks like an "if" statement?有没有办法像“if”语句一样折叠 eclipse 子块?
【发布时间】:2011-01-23 01:36:39
【问题描述】:

目前 Eclipse 只折叠 java doc 和函数级别,但是在读取长方法时,可能会有很多 if/else 等,有没有办法折叠它们?

【问题讨论】:

    标签: eclipse ide


    【解决方案1】:

    我找到了Coffee-Bytes 插件。我从this link下载,找到作者this guide,供使用。

    您可以在这些参考资料中找到更多详细信息:

    What code folding plugins work on Eclipse 3.6?
    How to use Coffee-Bytes code folding

    【讨论】:

      【解决方案2】:

      在 Eclipse 的更新版本中

      在以下位置更改折叠首选项:

      Window -> Preferences -> C/C++ -> Editor -> Folding -> Enable folding of preprocessor branches (#if/#else)
      

      使用ctrl + shift + /启用折叠

      【讨论】:

      • 这应该在顶部。这有效,不需要插件。我也相信 OP 的意思是 Folding -> Enable fold of control flow statements (if/else, do/while, for, switch)
      • OP询问了Java代码,这个答案只适用于C/C++编辑器。
      【解决方案3】:

      不,在首选项对话框(菜单窗口/首选项):Java/Editor/Folding 你可以选择,

      • 评论
      • 头条评论
      • 内部类型
      • 成员和导入

      如果选中启用折叠。

      如果您不想这样做,因为块太长以至于无法重新调整结构 您应该考虑使用 Alt-Shift-M(提取方法)将 if/else 块拆分为方法

      【讨论】:

      • 我同意,但我仍然想折叠“if else”,代码不是我写的而是别人写的,或者只是认为它是 3rdparty 代码。
      • 不幸的是,就我而言,我需要完全进行代码折叠才能拆分 2k LoC 方法。
      【解决方案4】:

      Eclipse 似乎没有内置支持折叠 if/else 语句,但允许折叠其他更复杂的情况,例如匿名内部类。尝试寻找像this one 这样的插件(最后一次修改是 2007 年,如果它支持您的 Eclipse 版本,请尝试)。

      【讨论】:

      • 谢谢,但它不起作用。插件主页坏了。我已经搜索但谷歌没有答案:)
      • 在:code.google.com/p/coffee-bytes 找到它但是 3.5 仍然存在一些问题......(字符串索引超出范围......)无论如何......
      【解决方案5】:

      目前,有内置功能。 Click "Window->Preferences->C/C++->Editor->Folding" and then enable appropriate option you want.
      应用,关闭并刷新项目或重新打开 Eclipse。

      【讨论】:

      • 这在 3 年前 this answer 已经提到过 .. 不幸的是它不适用于仅限 JAVA C/C++
      • @derHugo - 你链接的答案与这个不同,尽管很微妙。另一个只提到“启用预处理器分支的折叠(#if/#else)”。起初我实际上很失望,认为它不适用于我的需求(“启用控制流语句的折叠(if/else、do/while、for、switch)”,在答案下方的评论中添加)。我去检查 Eclipse,它也是另一个选项。我实际上正要发布一个答案来澄清这一点,但这里的答案已经可用(即使它可以更明确地说明这两个复选框)。
      • 只关闭和重新打开文件就足够了。
      【解决方案6】:

      好的,这有点老了,但也许有人会觉得这很有用: 在大多数情况下,您可以用一对额外的范围括号将这段代码括起来,并且要记住您折叠的内容,您可以添加一行注释。

      例如,如果您想折叠以下内容:

      int SectionA_var1;
      int SectionA_var2;
      int SectionA_var3;
      int SectionA_var4;
      int SectionA_var5;
      int SectionB_var1;
      

      只需添加括号和注释:

      { // SectionA
          int SectionA_var1;
          int SectionA_var2;
          int SectionA_var3;
          int SectionA_var4;
          int SectionA_var5;
      }
      int SectionB_var1;
      

      然后你得到 (-) 符号,你可以将整个部分折叠成这样:

      { // SectionA[...]
      int SectionB_var1;
      

      不需要插件,直到现在我还没有遇到任何这样的缺点,除了你不能在顶级声明中使用它来折叠方法。

      【讨论】:

      • 注意使用这个,因为你改变了变量的范围,所以第一个块中的代码不等同于第二个块中的代码(第三个,折叠)。
      【解决方案7】:

      虽然看起来很奇怪,但听起来开发人员从未想过这一点。如果你有一个大的 if 语句或任何 switch/loop ...只需使用 notepad++ 就可以折叠/展开

      【讨论】:

        【解决方案8】:

        对于 Python,即 Eclipse/PyDev,请转到 Windows > Preferences > PyDev > Editor > Code Folding 并选中所有框。

        【讨论】:

          【解决方案9】:

          像“if else for”语句一样折叠java源代码

          安装插件com.cb.eclipse.folding

          重启你的 Eclipse 确保 pluins 已启用

          点击“窗口->首选项->Java->编辑器->折叠”

          1. 选择折叠:选择“Coffee Bytes Java 折叠”
          2. 切换到“用户定义区域”
          3. "起始标识符" = {​​ ;结束标识符 = }
          4. 点击“应用并关闭”
          5. 重新打开 java 源代码编辑器,您将看到“if”或“for”块是可折叠的

          【讨论】:

          • “Coffee Bytes Java Folding”在 Eclipse 市场中不存在
          • 点击Eclipse菜单“帮助”--“安装新软件...”点击“添加”按钮github.com/stefaneidelloth/EclipseFolding/raw/master/…
          • 你成功安装这个插件了吗?或者您是否在 Eclipse 首选项窗口上看到选项“Coffee Bytes Java Folding”,步骤为“Java->Editor->Folding”
          猜你喜欢
          • 1970-01-01
          • 2010-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-17
          • 2021-01-31
          • 2021-07-30
          • 2020-11-17
          相关资源
          最近更新 更多