Предложения автозаполнения в редакторе исходного кода - PullRequest
4 голосов
/ 04 мая 2010

Большинство IDE (Eclipse, Netbeans, Intelij) предоставляют контекстуальные подсказки о текущем заявлении, которое вы пишете. Мы хотели бы сделать то же самое (В Java для Java).

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

Мы задаемся вопросом, знает ли кто-нибудь об относительно изолированном пакете, который мы могли бы использовать в нашем проекте для предоставления этой функции автозаполнения.

Спасибо!

Ответы [ 5 ]

1 голос
/ 17 января 2011

Вы можете попробовать использовать Reflection API , если хотите поддерживать автокомпиляцию и ограничить автозаполнение уже скомпилированными классами. В противном случае вы смотрите на очень большой, длинный проект, для завершения которого потребуется много ресурсов.

1 голос
/ 29 ноября 2010

Вы должны проверить создание собственного редактора для Eclipse. Без особых усилий токенизатор, помощник по коду и поддержка раскраски могут быть легко интегрированы в ваш редактор. С некоторыми усилиями вы можете минимизировать зависимость и отправлять только необходимые плагины. Хотя затмение делает большинство вещей для вас, нет стандартного способа для анализа контента. Вы можете использовать Xtext или написать свой анализатор клиентов с помощью antlr.

0 голосов
/ 01 июля 2010

JIDE-Commons предлагает простую функцию «завершения», которую можно использовать, например, для завершения простых слов или имен файлов. Может быть, это простое решение уже работает для вас.

0 голосов
/ 15 ноября 2010
0 голосов
/ 04 мая 2010

Если вы используете SWT и JFace, вы можете быть счастливы: автозаполнения на стороне графического интерфейса в редакторах уже включены и обсуждаются во многих итоговых документах.

Однако с Swing вы можете посмотреть немного дальше.

Что полезно в вашем контексте, решать вам самостоятельно, насколько мне известно, для этого нет никаких инструментов, кроме случаев, когда вы используете DSL-фреймворк, такой как xText.

...