2012-02-13 2 views
3

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

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

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

ответ

1

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

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

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

+0

Непросто использовать другое лицо для всех символов, которые считаются локальными переменными, членами объекта и т. Д. Я просто подумал, что выделение всех членов объекта (например, Eclipse, например) было бы хорошей возможностью для есть, но я могу жить без него. Я уже использую 'semantic-idle-local-symbol-highlight'; спасибо за Ваш ответ :) – pparescasellas