在Emacs中使用which-function-mode显示嵌套函数

时间:2010-02-17 22:49:29

标签: emacs

在Emacs中打开哪个功能模式会在光标所在的当前功能的状态栏中显示功能名称。但是,当在类中有嵌套函数或方法时,只显示最外面的函数。

例如,我在C ++中有以下类。


class Foo
{
   void func1()
   {
      ...
   }
};

当光标位于func1()内时,状态栏上会显示类名Foo。如何让它显示Foo加func1?像Foo.func1或Foo :: func1这样的东西会很好。

2 个答案:

答案 0 :(得分:2)

which-func功能默认使用imenu功能来获取它的显示名称。我认为默认情况下无法获得您正在寻找的功能。

如果您安装CEDET,它可以覆盖which-func功能以使用它的解析器系统获取名称,然后它将完全按照您描述的方式执行,尽管它使用“。”默认情况下。

答案 1 :(得分:0)

您也可以尝试加载库imenu+.el。敦诺是否会有所帮助。否则,您可以尝试调整which-function的定义,以便它使用库thingatpt+.el中的symbol-name-near-point等函数。另请参阅Thing At Point+