首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免在调用代码格式化程序时展开折叠区域?

如何避免在调用代码格式化程序时展开折叠区域?
EN

Stack Overflow用户
提问于 2013-10-30 18:40:45
回答 2查看 753关注 0票数 2

如你所知,Delphi 2010有内置的代码格式。但是,格式化会显示所有折叠的代码块。有什么办法解决吗?这个“功能”对我来说特别烦人,当我找不到任何关于这个问题的东西时,我真的很惊讶。我试过的是:

  • 寻找替代,例如,GExperts有代码格式化插件,但它也展开代码块。
  • 试图为GExperts编写一个宏:Ctrl+D(格式化代码) ->各种代码折叠/展开快捷键,但无法使其尊重所有折叠/展开的块结构。
  • 编写一个CnWizards脚本,但找不到代码折叠示例。

如果有任何想法/暗示,我将非常感激。

EN

回答 2

Stack Overflow用户

发布于 2013-10-31 01:34:04

解决这个问题的一种方法是,不要一次格式化整个文件,而是选择一个部分,并对其进行格式化。

只要您不选择一个区域,所有区域的扩展状态都将保持不变。

同时格式化整个文件通常并不是一个好主意,因为格式化程序并不“理解”它在做什么。我总是检查它所做的所有变化,如果在可见区域之外没有变化,这就更容易了。

票数 3
EN

Stack Overflow用户

发布于 2015-04-12 15:41:57

这个问题确实很老,但正如这里所提到的:

How to preserve code folding when formatting source

没有答案,我想我可以同时回答这两个问题,这是我在那里发布的答案:

您可以做的是创建区域,禁用代码折叠,格式化代码,然后重新启用代码折叠。

要创建代码区域,请执行以下操作:

代码语言:javascript
复制
{$REGION 'Optional text that appears when the code block is folded'} 
// code 
{$ENDREGION}

若要切换代码折叠选项,请按Ctrl+Shift K+O。

因此,将代码放入区域,折叠所需内容,按Ctrl+Shift K+O以禁用折叠,按Ctrl+D格式化,然后再次按Ctrl+Shift K+O重新启用折叠。

当您启用折叠时,与区域折叠的内容将保持折叠状态。

资料来源:Folding

希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19691231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档