2012-02-13 38 views
3

我对Emacs相对来说比较新,最近我将它设置为IDE来开发C++(emacs24 + cvs中的CEDET + ECB内置)。我目前享受的结果,但我想要一些自定义突出显示,这似乎默认情况下不存在。在Emacs24 +中突出显示局部变量,对象属性和常量CEDET

当我声明一个新常量,局部变量或对象属性时,它们以不同的颜色显示。但是,在其他地方使用它们时,它们会显示为普通文本。我想让常量在声明后在代码中的某处使用时以另一种颜色+斜体显示(例如)。

有什么办法可以达到这个目的吗?我曾尝试C-u C-x =以查看启用的面并对其进行自定义,但似乎没有注意到我已经过了特殊符号而不是普通文本。 ECB将其显示为其中一个窗口中的变量或属性。

回答

1

当你声明一个变量时,着色是通过font-lock完成的,并且与声明的语法有关。变量或函数的使用模糊不清,无法真正识别。

如果您引用的参议员菜单项可让您以某种方式给标签着色,那只会标记该标签。它不知道如何跟踪发生的事件。要跟踪发生的情况,您需要使用semantic-symref或类似的工具,可能需要更高级的后端,比如GNU Global。

有一个有用的模式,您可以使用semantic-idle-local-symbol-highlight启用该模式,该模式会为您所在的符号进行特殊突出显示,但它与您所寻找的符号不匹配。

+0

因此,对于被认为是局部变量,对象成员等的所有符号使用不同的面并不容易。我只是认为突出显示所有对象成员(比如Eclipse)会是一个很好的功能,有,但我可以没有它。我已经在使用'semantic-idle-local-symbol-highlight';感谢您的回答 :) – pparescasellas 2012-02-24 11:42:04