最近,我一直在处理一些同事的一些遗留代码,使用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中不会发生!而是仅某些函数();折叠。
如何使VSCODE折叠行为与其他IDE相似?
答案 0 :(得分:0)
听起来您的编辑器正在使用缩进级折叠。
根据https://code.visualstudio.com/docs/editor/codebasics#_folding:
折叠范围默认情况下根据缩进量进行评估 线。当行的缩进小于 一或多个以下行,并在与 相同或较小的缩进。
从1.22版本开始,折叠范围也可以基于 编辑器配置语言的语法标记。下列 语言已经提供了语法识别折叠:
- Markdown,HTML,CSS,LESS,SCSS和JSON
可能有一些插件支持其他语言的语法折叠。如果不是这样,您可以缩进预处理程序行作为解决方法。