最近我一直在研究一些同事的一些遗留代码,使用 Visual Studio 代码,我已经能够将它转换为合理且可读的 C 格式。但是,我想折叠一些控制语句,因为我的同事编写的控制语句有时超过 100 行。

在这些行中,我添加了预处理器控制语句来启用和禁用我的更改。

在 Visual Studio 代码中,我可以很好地折叠代码,但是一旦遇到预处理器语句,至少是 #ifdef 和 #ifndef,它就会停止。
因为每 10 行大约有 1 行来折叠一个控制语句,我需要折叠 10 次,有点击败它背后的想法,对吗?

我试过在设置中寻找折叠和折叠以及一些谷歌搜索,但我找不到任何可以解决我的问题的东西。

例如我有这个片段

if(true)
{
    Some functions();
#ifdef DEBUG
    Functions with debugging only();
#else
    Functions without debugging only();
#endif
    Some other functions();
}

我期望,每当我折叠 if(true) 时,此控制语句中的所有内容都会折叠。这是我习惯的,在 Eclipse 的 vs2017 中会发生什么。这不会发生在 VSCODE 中!而是只有 Some functions();被折叠。

如何让 VSCODE 折叠行为与其他 IDE 相似?

最佳答案

听起来您的编辑器正在使用缩进级折叠。

根据 https://code.visualstudio.com/docs/editor/codebasics#_folding :



可能有插件支持其他语言的语法折叠。如果没有,作为一种解决方法,您可以缩进预处理器行。

关于c - 如何折叠带有预处理器的控制语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54348687/

10-11 22:32
查看更多