Выделите локальные переменные, атрибуты объекта и константы в Emacs24 + CEDET - PullRequest
3 голосов
/ 13 февраля 2012

Я относительно новичок в Emacs, и недавно я настроил его как IDE для разработки C ++ (emacs24 + встроенный CEDET + ECB из cvs).Я наслаждаюсь результатами до сих пор, но я хотел бы, чтобы некоторые пользовательские выделения не появлялись по умолчанию.

Когда я объявляю новую константу, локальную переменную или атрибут объекта, они отображаются другим цветом.Однако, когда они используются где-то еще, они отображаются как обычный текст.Я хотел бы, чтобы константы отображались другим цветом + курсивом (например), когда они используются где-то в коде после объявления.

Есть ли способ добиться этого?Я попытался C-u C-x = увидеть включенные лица и настроить их, но, похоже, не заметил, что я нахожусь над специальным символом, а не над обычным текстом.ECB отображает их как переменные или атрибуты в одном из своих окон.

1 Ответ

1 голос
/ 24 февраля 2012

Когда вы объявляете переменную, раскраска выполняется с помощью font-lock и связана с синтаксисом объявления. Использование переменной или функции нечеткое и не может быть идентифицировано.

Если вы обращаетесь к пункту меню Senator, который позволяет каким-либо образом окрашивать тег, он будет окрашивать только этот тег. Он не знает, как отследить происшествия. Чтобы отслеживать происшествия, вам нужно использовать semantic-symref или аналогичный инструмент, возможно, с более продвинутым бэкэндом, таким как GNU Global.

Есть полезный режим, который вы можете включить с помощью semantic-idle-local-symbol-highlight, который будет делать специальную подсветку для символа, на котором вы находитесь, но он не совсем соответствует тому, что вы ищете.

...