Простой пример генерации кода на JDT - PullRequest
3 голосов
/ 08 марта 2011

Я пытаюсь написать плагин Eclipse. Он будет зависеть от RCP для базовых вещей и JDT для генерации кода Java. Он состоит из Wizard / WizardPage, который запрашивает пакет и несколько имен классов. Когда пользователь нажимает «Готово», я хочу, чтобы мастер создал классы, соответствующие введенным значениям, в текущем проекте Java.

У меня работает базовый интерфейс. Что я не могу понять, так это как сгенерировать соответствующий код класса. Документация по Eclipse немного сложна для понимания. Из того, что я могу почерпнуть, мне нужно сначала получить IJavaProject из рабочей области, из этого IPackageFragment и из этого я могу вызвать createCompilationUnit (), чтобы создать класс.

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

Может кто-нибудь предложить несколько указателей на простой рабочий код?

Ответы [ 2 ]

1 голос
/ 25 марта 2011

Вам необходимо расширить NewElementWizardPage и предоставить функциональность.См. эту документацию для получения более подробной информации

0 голосов
/ 08 марта 2011

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

Да. Посмотрите на IProject, IFolder и IFile в пакете org.eclipse.core.resources.

Может кто-нибудь предложить несколько указателей на простой рабочий код?

Eclipse сам создает новый класс Java с ограниченным скелетом, когда вы запрашиваете его, с помощью мастера создания классов Java. Этот исходный код будет вам полезен для того, что вы хотите сделать. Я не мог найти его с помощью быстрого поиска Eclipse и помощи Eclipse. Я предполагаю, что это где-то в пакете org.eclipse.pde.

Вы также можете взглянуть на Мастеров создания, которые являются точкой расширения org.eclipse.ui.newWizards.

...