Можно ли настроить Eclipse для выделения синтаксиса Java в XML? - PullRequest
0 голосов
/ 20 сентября 2018

Я программирую для продукта, который включает фрагменты кода Java (на самом деле BeanShell), встроенного в большие XML-файлы.Они выполняются на лету во время выполнения.В документе может быть несколько таких тегов кода на разных уровнях.

<larger-xml-file>
 <java>
  // java code that I want to syntax highlight
 </java>
 <more-xml...>
</larger-xml-file>

Было бы здорово разрешить подсветку основного синтаксиса кода в определенных тегах XML.Я знаю, что vi может сделать это, например, с помощью тегов <script> внутри HTML.Это действительно помогло бы мне поймать глупые ошибки, такие как пропущенные конечные кавычки.

Если бы это позволило разрешить завершение или базовую проверку синтаксиса, это было бы еще лучше.

Есть ли способ легко настроить это вЗатмение

1 Ответ

0 голосов
/ 21 сентября 2018

Это должно быть возможно через проект Eclipse TM4E для подсветки синтаксиса с помощью TextMate грамматик .

Eclipse Wild Web Developer, в котором используется Eclipse TM4E, показывает, как встроенные / включенные / внедренные грамматики работают для JavaScript в HTML:

<extension point="org.eclipse.core.contenttype.contentTypes">
   <content-type
      base-type="org.eclipse.core.runtime.text"
      file-extensions="html"
      id="contentType.html"
      name="HTML"
      priority="low"/>
</extension>
<extension point="org.eclipse.ui.genericeditor.presentationReconcilers">
   <presentationReconciler
      class="org.eclipse.tm4e.ui.text.TMPresentationReconciler"
      contentType="contentType.html"/>
</extension>
<extension point="org.eclipse.ui.editors">
   <editor
      name="HTML Editor"
      icon="icons/html_editor_icon.png"
      class="org.eclipse.ui.internal.genericeditor.ExtensionBasedTextEditor"
      contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
      id="language-editor.html"
      default="true"
      extensions="html">
   <contentTypeBinding
      contentTypeId="contentType.html"/>
   </editor>
</extension>
...