Использование GPS в качестве внешнего редактора для AdaMULTI

#ada #gnat #greenhills

#ada #gnat #greenhills

Вопрос:

Я пытаюсь использовать GPS (версия 19.1) в качестве внешнего редактора для Greenhills AdaMULTI.

Я ввел -P<myproject.gpr> %LINE %FILE0 %FILES в «аргументы командной строки», а также правильный путь к GPS для «Настройки другого редактора AdaMULTI».

Пока это работает так, как ожидалось, т. е. при нажатии CTRL E в диспетчере проектов AdaMULTI открывается GPS с файлом, который нужно отредактировать. Кроме того, при обнаружении ошибки при компиляции GPS открывается в соответствующей строке и файле.

Но… при настройке таким образом всегда открывается новый экземпляр GPS, что несколько раздражает, потому что через некоторое время у вас будет запущено несколько экземпляров с одним файлом, открытым через некоторое время. Есть ли способ (опция, переменная среды или что-то еще) сообщить GPS использовать уже запущенный экземпляр?

Я прочитал документацию AdaMULTI и руководство пользователя GPS, чтобы найти что-нибудь подходящее, но безрезультатно.

Ответ №1:

вы можете написать какой-нибудь плагин Python для GPS, чтобы отслеживать изменения в каком-либо файле, а затем прочитать из него «команду», чтобы открыть файл в заданной позиции. Или какой-либо другой тип IPC.

Какую ОС вы используете? Windows?

Комментарии:

1. Да, это в Windows. Но AdaMULTI помещает выходные данные своей компиляции в собственное окно, а затем автоматически открывает ошибочный файл, используя любой внешний редактор, который был настроен. Таким образом, нет файла для отслеживания изменений.

Ответ №2:

Интересно, могли бы вы рассматривать систему GPS как «работающую на удаленном сервере», см. Документацию GPS глава 14, Использование GPS для удаленной разработки, где «удаленный» сервер фактически является локальной машиной.

Комментарии:

1. Хорошая идея, никогда бы не подумал об этом. Увы, пробовал, но это не помогает. Я по-прежнему получаю новый экземпляр каждый раз, когда либо пытаюсь открыть файл вручную из AdaMULTIs project view, либо компилятор автоматически открывает файл с ошибкой компиляции.