有没有办法在Eclipse中折叠/折叠区域代码?

问题描述 投票:0回答:6

我用这种方式在Netbeans中获得代码折叠:

// <editor-fold defaultstate="collapsed" desc=" description">
....
// </editor-fold>

和 Visual Studio:

#region description
...
#endregion

但是我在eclipse中找不到相同的用法。 如何在 Eclipse 中使用代码折叠?

eclipse code-folding
6个回答
28
投票

Eclipse 支持代码折叠。

转到工作台首选项 -> 常规 -> 编辑器 -> 结构化文本编辑器,然后选中“启用折叠”框。

然后转到工作台首选项 -> Java -> 编辑器 -> 折叠,然后调整折叠首选项。


6
投票

Windows->首选项->(C/C++)->编辑器->折叠

(C/C++) 将根据您使用的语言而变化。一般来说每种语言插件都会有自己的折叠选项


5
投票

<editor-fold
#region
可以用作块折叠包装任何你想要的东西,不仅包括一个函数或注释,还包括两个甚至多个函数、注释、变量等。

Eclipse没有这样的功能。 我正在使用 Eclipse Neon,但仍然缺少这个。


2
投票

我为旧的 coffee bytes 代码折叠插件创建了一个分支和一个更新站点,该插件与 Eclipse Neon 一起使用: https://github.com/stefaneidelloth/EclipseFolding/raw/master/com.cb.platsupp.site


1
投票

虽然这是一个老问题,但我想添加一些意见。

Eclipse 本身不支持自定义代码折叠块,Visual Studio 及其

#region
#endregion
指令或 Netbeans 及其
//<editor-fold defaulstate="collapsed" desc="My custom code folding block"
//</editor-fold>
也是如此。

(IntelliJ 也支持这一点,上述两种方法都可以工作,具体取决于 IDE 的配置方式。)


如果您碰巧在 Eclipse 中使用 CDT(如 C/C++),那么有一种解决方法。 我已经尝试安装提到的插件,但它们要么不再存在,要么安装使 IDE 不稳定。

在中心位置创建一个头文件,其中包含宏等(可选)。 在该标头中,只需定义一个 FOLD 宏,如下所示:

#define FOLD //

#includes 中央头文件的每个文件也将引用上面的宏。

此功能的一个示例用法是:

#ifdef FOLD Struct MyFileStruct
#pragma pack(1)
typedef struct MyFileStruct {
        WCHAR fileName[FILENAMELEN];  // File name
        WCHAR fileInfos[32];          // File info
        WCHAR fileDate[32];           // File date
        DWORD sizeInBytes;            // File size
} File;
#pragma pack()
#endif

如果不清楚其工作方式,我建议查看 C 预处理器

我希望这有点用!


0
投票

感谢 SimonC 和 Harry(评论)提供此提示:

在C/C++(Eclipse CDT或STM32CubeIDE)中,您可以使用条件编译作为折叠代码块的简单方法:

#if 1 // My region name
// Code you want to fold
#endif

将要折叠的代码用#if 1 和#endif 包裹起来。这有条件地包含代码,有效地折叠它,直到删除 #if 1。

© www.soinside.com 2019 - 2024. All rights reserved.