Eclipse IDE C / C ++ автоматически включает пути из пользовательского сценария сборки

У меня есть собственный скрипт Python для сборки моих проектов, чтобы сохранить простоту зависимости, я хотел бы использовать Eclipse в качестве C ++ IDE, но сохраняя свой скрипт сборки.

Чтобы поддерживать автозаполнение и интеллигентность (с документами и т. Д.), Я хотел бы сообщить Eclipse (нестандартные) заголовки и определения, добавленные во время разрешения зависимостей в моем скрипте.

Я обнаружил, что файл «.cproject» содержит такую ​​информацию, безопасно ли его изменять из сценариев сборки или есть ли способ интегрировать мой сценарий в сам Eclipse?

Пример:

# TestGame.json
{
"name": "TestGame",
"extend": "BASE",
"actions": ["COMPILE", "LINK"],
"CC": [
"G++11"],
"dep": {
"builds": ["DFResourcer", "DFSDL"],
"libs": ["SDL2", "SDL2main"]
}
}

Мои сценарии сборки скомпилируют измененные файлы и свяжут их со всеми необходимыми файлами и найдут «/ Главная / CPP-проекты / DFSDL / включают», другие пути, которые должны быть включены, и необходимость —станд = C ++ 11, Я хочу, чтобы Eclipse (не вручную) велел искать заголовки также для автозаполнения и т.д.

1

Решение

Я обнаружил, что файл «.cproject» содержит такую ​​информацию, безопасно ли его изменять из сценариев сборки

Это выполнимо, но не рекомендуется, потому что формат файла недокументирован и не гарантированно стабилен во всех версиях Eclipse.

Есть ли способ интегрировать мой скрипт в самом Eclipse?

Вы могли бы написать плагин Eclipse, который запускает ваш скрипт и связывается с ним или использует вывод, который он производит. Тем не менее, это кажется тяжелым решением.

Я бы предложил следующее простое решение:

Затмение имеет построить выходной парсер. Я писал о том, как использовать его в других ответах, например, этот. По сути, он предназначен для анализа выходных данных make вызовите, проанализируйте любую строку, которая выглядит как команда компилятора, и настройте пути включения на основе -I аргументы в этой команде.

Вы можете использовать это, даже если вы используете собственный сценарий сборки, а не makeпросто заставьте ваш скрипт выводить команды компилятора, которые он вызывает (если хотите, вы можете сделать это условным для флага, например: --verbose) и настройте Eclipse для вызова вашего сценария сборки, а не make (передавая флаг, если вы его использовали) при создании проекта.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]