`hideshow`模式不使用以注释开头的行

时间:2013-08-05 14:29:34

标签: emacs cc-mode

我正在使用emacs(24.3.1)以及cc-modehideshow进行编程c++。我正在开发一个项目,其中编码样式要求头文件中存在的任何关键字必须在源文件中重复。如果标准不允许这样做,则必须将关键字放在注释中。让我举个例子:

/* virtual */ void MyAwesomeFunction( int arg, int optarg /* = 0 */ ){
    // stuff
}

显然有一条评论开始了。 hideshow似乎无法应对这种格式化。当我调用hs-hide-all所有代码块都正确折叠时,如果我从函数内的任何位置调用hs-hide-block,情况也是如此。但是,如果我在函数的开头行(我的代码片段的第一行)某处调用hs-hide-block whith point,现在可以进行折叠并显示错误消息:

(not enough comment lines to hide)

已打印。到目前为止我唯一明确的hideshow配置是:

 (setq hs-hide-comments nil)

但是,删除此行会使情况变得更糟:之后甚至不能正常调用hs-hide-all:所有内部块都会折叠,但是对于具有前导注释的函数,不会在函数级别进行折叠。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

首先显式隐藏注释可能会有所帮助,只需在区域内或整个缓冲区中。您可以使用库hide-comnt.el来执行此操作。描述为here