Уже более года я пытаюсь использовать Emacs в качестве C / C ++ IDE. До сих пор я добился лишь незначительного успеха, но по пути наткнулся на несколько кирпичных стен. В настоящее время я пытаюсь использовать CEDET, но мне трудно понять, как эффективно его использовать.
Функции, которые я ищу в IDE, следующие:
- Управление программным обеспечением «Проекты». Я хочу, чтобы моя среда разработки имела представление обо всех файлах, составляющих мой текущий проект, чтобы я мог выполнять такие функции, как поиск и замена в моем проекте. (Было бы неплохо, если бы я мог достичь этого, не засоряя дерево исходных текстов большим количеством вспомогательных файлов. Почему мне нужно более одного централизованного файла проекта на проект?)
- Возможность построить текущий проект из среды IDE, независимо от того, какой буфер я сейчас посещаю. Мне нужно иметь возможность связать ключ, который будет строить текущий проект.
- Отчет об ошибках. Я не хочу читать более 500 строк, чтобы найти ошибки, о которых сообщили инструменты сборки. Предпочтительно ошибки отображаются в собственном буфере с одной строкой на ошибку.
- Осведомленность о символах в рамках проекта и о том, где они определены. Я хочу перейти к определению символа, находится ли он в моих файлах проекта или в системных включаемых файлах.
- Визуальная отладка. Я хочу иметь список отслеживания локальных переменных, которые обновляются автоматически при выполнении кода. Я хочу иметь возможность устанавливать точки останова в коде, чтобы увидеть, какая строка кода будет выполняться дальше.
Я знаю, что каждая из этих функций существует, потому что у меня была каждая из них, работающая в то или иное время с использованием EDE, Semantic, GDB и т. Д. Проблема в том, что мне никогда не удавалось работать со всеми этими функциями одновременно потому что каждый компонент обычно должен быть настроен сам по себе, и обычно слишком много работы, чтобы выяснить, как настроить их все сразу и заставить их работать вместе.
Какие существуют решения для превращения Emacs в полнофункциональную среду разработки C / C ++? Вы всегда должны настраивать все по частям, или есть способ настроить все функции одновременно?
РЕДАКТИРОВАТЬ: хороший ответ на этот вопрос не обязательно должен точно соответствовать всем пяти из указанных критериев. Я просто предоставил список, чтобы дать более конкретное представление о типе функций, которые я хочу увидеть, прежде чем я буду считать IDE «полнофункциональным». Вполне возможно, что CEDET мог бы соответствовать всем требованиям, но мне еще предстоит найти рабочее пошаговое руководство по его настройке с нуля.