Реально ли извлечь часть помощи / завершения кода из Eclipse и использовать ее в другом редакторе? - PullRequest
1 голос
/ 29 августа 2011

Я часто слышу, насколько хорошо завершение кода, функции поддержки кодирования в Eclipse сравниваются с другими редакторами, что поднимает вопрос, можно ли эти части отделить от базы кода Eclipse.

Если эта часть отделена с помощьюAPI, через который ему можно рассказать то, что ему нужно знать (где находятся файлы проекта, какие пути включения и т. д.), затем он может вернуть необходимую информацию (справку по символу у курсора, возможные дополнения,и т. д.), и любой редактор (emacs, vim и т. д.) может использовать его.

Почему это еще не сделано?Являются ли эти вспомогательные части кода слишком тесно связанными с внутренними компонентами Eclipse, и их нельзя легко разделить?Может ли кто-то, кто знает о внутренней работе Eclipe, пролить некоторый свет на это?

Редактировать: Вот рабочая установка с SharpDevelop для C #, emacs - это пользовательский интерфейс, а информация поступает из модуля SharpDevelop.Смотрите скриншот на этой странице .Поддержка завершения Eclipse может аналогичным образом поддерживать emacs и другие редакторы.

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Проект eclim пытается решить эту проблему, напрямую взаимодействуя с eclipse. Таким образом, требуется, по крайней мере, бегущее затмение без головы. В то время как eclim фокусируется на интеграции vim, существуют также плагины для других редакторов (emacs, textmate и т. Д.) Связь между eclim и редактором происходит через интерфейс сервера.

Может быть, не совсем то, что вы ищете, но имхо стоит посмотреть:

http://www.eclim.org/

0 голосов
/ 29 августа 2011

Ассистент контента использует внутреннюю модель проектов Java - без этой модели ассистент контента не может работать (что эффективно).

Я не уверен, насколько тесно интегрирована внутренняя среда Eclipse, но я знаю, что он использует Eclipse Resources API (управление файловой системой) и другие функции, такие как расширения Eclipse (новые поставщики завершения могут быть добавлены без изменения кода ).

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

...