最近,我一直在处理一些同事的遗留代码,使用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)时,这个控制语句中的所有内容都会被折叠。这就是我所习惯的,也是在vs2017中将要发生的事情。这在VSCODE中不会发生!相反,只有一些函数();会被折叠。
如何才能使VSCODE折叠行为与其他IDE相似?
发布于 2019-01-24 22:37:29
听起来你的编辑器使用的是缩进级别的折叠。
根据https://code.visualstudio.com/docs/editor/codebasics#_folding的说法
默认情况下,基于行的缩进来计算
折叠范围。折叠范围从一行缩进小于一个或多个后续行时开始,当有一行缩进相同或更小时结束。
从1.22版本开始,也可以基于编辑器配置语言的语法标记来计算折叠范围。以下语言已经提供了语法感知折叠:
有可能有插件支持其他语言的语法折叠。如果没有,作为一种解决办法,您可以缩进预处理器行。
https://stackoverflow.com/questions/54348687
复制相似问题