2012-02-13 20 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