Эклипсный эквивалент Intellij Dynamic Properties - PullRequest
0 голосов
/ 05 декабря 2018

в нашей команде разработчиков есть пользователи Eclipse и Intellij IDEA, а моя команда работает в основном в Groovy.

Мы младшие разработчики в этой конкретной команде, работаем над IDE с полным доступом ко всем соответствующимклассы, в которых мы нуждаемся, все еще копируют и вставляют скрипты в наш веб-интерфейс, который внутренне запускает их на основе определенных правил и настроек.

Поскольку исполнитель скриптов afaik вводит определенные переменные в среду, онидоступны для использования в сценариях, но недоступны для автозаполнения среды IDE.В Intellij мы объявляем их как динамические свойства для каждого сценария на уровне IDE, так что IntelliSense обрабатывает их как объекты того типа, которым они являются, но я не могу найти эквивалентную функциональность в Eclipse или какую-либо информацию о ком-либо спохожая ситуация.

Например, в следующем скрипте:

def location = locationService.findLocationById(123)

Где locationService - это объект типа, который реализует ILocationService.При запуске на сервере location правильно идентифицируется как тип Location, но, конечно, среда IDE не может вывести его.В Intellij я могу добавить динамическое свойство для locationService, идентифицируя его как тип «ILocationService».

Возможно ли это на Eclipe?

Спасибо!

1 Ответ

0 голосов
/ 05 декабря 2018

Если вы хотите добавить предложения о выводе типов в редактор, чтобы он мог предоставить вспомогательный контент для переменных выражений, в Eclipse есть несколько возможностей:

  1. Поместить курсор (курсор)над "location" в вашем скрипте, нажмите Ctrl + 1, чтобы открыть меню Quick Assist и выберите Добавить предложение .В диалоговом окне установите тип для полного типа переменной.Эта помощь может быть недоступна, если в вашем рабочем пространстве не включена поддержка DSLD ( Окно> Настройки> Groovy> DSLD> Отключить поддержку DSLD в рабочем пространстве не нужно проверять).

  2. Создайте DSLD для ваших сценариев, которые предоставляют тип.Это немного сложнее, но гораздо более гибко в обработке типов делегатов и так далее.См. https://github.com/groovy/groovy-eclipse/wiki/DSL-Descriptors (IntelliJ имеет GDSL, который очень похож).

  3. Приведите или приведите переменную в вашем скрипте.Может быть немного сложным, но, безусловно, самым простым в реализации.

  4. Я думаю, что вы можете предоставить аннотацию BaseScript, которая может дать некоторые дополнительные подсказки о том, что будет присутствовать в привязке скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...