2013-08-05 39 views
2

我使用emacs(24.3.1)连同cc-modehideshow编程c++。我正在开发一个项目,其中编码风格要求在源文件中必须重复头文件中的任何关键字。如果标准不允许,关键字必须放在注释中。让我给你举例:`hideshow`模式不能与评论一起工作

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

显然有一条评论开始行。看来hideshow无法应付这种格式。当我拨打hs-hide-all时,所有代码块都可以正确折叠,如果我在该函数的任何位置调用hs-hide-block,情况也是如此。但是,如果我打电话hs-hide-block蒙山point在函数(我的codesnippet的第一行)的开口线的某处beeing现在发生折叠和错误消息:

(not enough comment lines to hide) 

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

(setq hs-hide-comments nil) 

但是,删除这条线,使事情变得更糟:后来甚至没有要求hs-hide-all工作正常:所有内部块折叠,但在功能水平折叠对于具有前导注释的函数不会发生。

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

+0

错误与'hs-inside-comment-p'认为你在评论中。暂时的解决办法是'(defun hs-inside-comment-p)'。 –

回答

0

它可能有助于明确隐藏评论,无论是在区域内还是整个缓冲区。您可以使用库hide-comnt.el来做到这一点。描述是here