Как Eclipse делает завершение кода специфичным для сторонних фреймворков? - PullRequest
2 голосов
/ 22 февраля 2010

Как работает редактор Eclipse для включения автозавершения кода? Например, в редакторе XML для файлов свойств Hibernate, если я ctrl - пробел внутри тега, отобразится список возможных значений, относящихся к hibernate.

Eclipse suggests fields defined in a Java class within a Hibernate hbm.xml file.

Я понимаю, что редактор XML предварительно настроен для понимания тега xml, но как насчет тега, специфичного для конкретной платформы? Откуда Eclipse узнает об этом?

Ответы [ 6 ]

2 голосов
/ 24 февраля 2010

Я полагаю, что XML-редактор eclipse получает информацию о помощи содержимого из любых ссылочных DTD или информацию XMLSchema, которую он связывает с файлом XML. Попробуйте этот эксперимент: удалите запись DOCTYPE в начале файла и посмотрите, работает ли помощник по содержимому.

0 голосов
/ 17 января 2016

У меня была такая же проблема при использовании файла struts.xml. Я получил исправить, когда я попробовал ниже ... Перейдите к «Предпочтения> Java> Редактор> Помощник по содержимому> Дополнительно» . Убедитесь, что «Java Non Types Proposals» отмечены в обоих местах, как показано на рисунке ниже, затем нажмите Apply и кнопку OK: -

enter image description here

0 голосов
/ 05 сентября 2014

Вот решение, с которым вы можете работать. На самом деле я столкнулся с той же проблемой с файлом struts.xml. Я не смог произвести теги к cntrl+space

что я сделал ...

перейти к Preferences...Java...Editor...Content Assist...Advanced

установите все флажки и нажмите ОК.

иногда проблема сохраняется из-за ложной тревоги при затмении. Если это произойдет, просто удалите свой XML-файл и создайте новый в том же месте.

Надеюсь, это поможет.

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

Удалена запись DOCTYPE в начале файла, и теперь я могу видеть команды при наборе ctrl + пробел ...

0 голосов
/ 22 февраля 2010

Чтобы добавить к Uri ' answer , вы можете определить свой собственный редактор для своего языка с помощью XText , если у вас есть простой язык EBNF для вашего DSL (предметно-ориентированный язык).

https://raw.githubusercontent.com/eclipse/xtext/master/plugins/org.eclipse.xtend.doc.xdoc/xdoc/images/getting-started-editor.png

У вас будет:

  • окраска синтаксиса,
  • модель навигации (F3 и др.),
  • завершение кода,
  • контурный вид и
  • шаблоны кодов.
0 голосов
/ 22 февраля 2010

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

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/editors_contentassist.htm

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

При написании редактора исходного кода или средства просмотра для определенного языка или типа документа обычно предоставляется по крайней мере несколько элементарных помощников по содержимому.

...