Помощник по содержанию с javaCompletionProposalComputer для Eclipse JSDT не дает никаких предложений

Помощник по содержанию с org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer для Eclipse JSDT не предлагает никаких предложений.

В Preferences -> JavaScript -> Editor -> Content Assist -> Advanced "Предложения Nodeclipse" видны и выбраны.

в соответствии с рекомендациями Bananaweizen Помощник по содержанию для редактора на основе Eclipse JSDT

в plugin.xml

<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
   id="nodeclispe_textual_proposals"
   name="Nodeclipse Text Proposals">
   <proposalCategory icon="icons/npm/npm.gif"/>
 </extension>
 <extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
   id="NodeclipseProposals"
   name="Nodeclipse Proposals">
   <javaCompletionProposalComputer
      class="org.nodeclipse.ui.contentassist.JSDTProposalComputer"
      categoryId="org.eclipse.ui.texteditor.textual_proposals">
      <partition type="__java_javadoc"/>
   </javaCompletionProposalComputer>
 </extension>

JSDTProposalComputer - это просто оболочка для NodeContentAssistant
(которая реализует IContentAssistProcessor), которая отлично работает с редактором на основе TextEditor.

public class JSDTProposalComputer implements IJavaCompletionProposalComputer {

    IContentAssistProcessor assistant = new NodeContentAssistant();

    @Override
    public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
        return Arrays.asList(assistant.computeCompletionProposals(context.getViewer(), context.getInvocationOffset()));
    }

    @Override
    public List<IContextInformation> computeContextInformation(ContentAssistInvocationContext context, IProgressMonitor monitor) {
        return Arrays.asList(assistant.computeContextInformation(context.getViewer(), context.getInvocationOffset()));
    }

примеры из help являются

Весь код находится в пакете GitHUb contentassist https://github.com/Enide/nodeclipse-1/tree/master/org.nodeclipse.ui/src/org/nodeclipse/ui/contentassist


person Paul Verest    schedule 26.12.2013    source источник
comment
найдите ‹тип раздела = __ java_javadoc /› на help.eclipse.org/kepler/index.jsp не дал результатов, но на Juno help.eclipse.org/juno/index.jsp возвращает компьютер с предложением завершения JavaScript и компьютер с предложением завершения Java   -  person Paul Verest    schedule 26.12.2013
comment
Не удается найти компьютер с предложением завершения JavaScript в справке Kepler   -  person Paul Verest    schedule 26.12.2013
comment
В этом примере categoryId не соответствует идентификатору предложенияCategory id   -  person zulus    schedule 08.01.2014
comment
Вместо этого: попробуйте добавить activate = true в javaCompletionProposalComputer и удалить ‹partition /›   -  person zulus    schedule 08.01.2014
comment
ОК, это javaCompletionProposalComputer параметры проводника   -  person Paul Verest    schedule 08.01.2014
comment
Сработало, добавьте свой ответ, если хотите, чтобы его приняли. Следующим для меня будет 1) понимание контекста (то есть определение, где находится клиентская сторона, а где - серверная) 2) почему в настройках нет значка - ›JavaScript -› Редактор - ›Content Assist -› Advanced   -  person Paul Verest    schedule 08.01.2014
comment
Как я видел в коде, JSDT теперь содержит только один контекст. Вы можете зарегистрировать собственный и использовать его на дополнительных компьютерах. Значок - это еще одна точка расширения в плагине пользовательского интерфейса. Посмотрите на мой плагин eclipse-extjs;)   -  person zulus    schedule 09.01.2014


Ответы (2)


Точно так же, как сказал @zulus:

попробуйте добавить activate = "true" в javaCompletionProposalComputer и удалите

что сработало:

<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
   id="nodeclispe_textual_proposals"
   name="Nodeclipse Text Proposals">
   <proposalCategory icon="icons/npm/npm.gif"/>
 </extension>
 <extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
   id="NodeclipseProposals"
   name="Nodeclipse Proposals">
   <javaCompletionProposalComputer
      class="org.nodeclipse.ui.contentassist.JSDTProposalComputer"
      categoryId="org.eclipse.ui.texteditor.textual_proposals"
      activate="true">
   </javaCompletionProposalComputer>
 </extension>

< / a>
(источник:
nodeclipse.org)

person Paul Verest    schedule 08.01.2014
comment
Где мне найти файл для редактирования? У меня только недавно по какой-то причине появилась эта ошибка. На Марсе. - person Damainman; 18.02.2016

Если вам нужен простой пример реализации ответа Полса, вы можете проверить это руководство: http://codeandme.blogspot.co.at/2014/05/exnding-jsdt-adding-your-own-content.html

person Christian    schedule 15.05.2014
comment
ТАК не для обмена ссылками. Это другое решение? - person Paul Verest; 19.05.2014
comment
извините за то, что поделился ссылкой. Я подумал, что было бы полезно иметь загружаемое готовое решение. Предоставленная ссылка также показывает реализацию класса по умолчанию вместе с необходимыми зависимостями плагинов. - person Christian; 20.05.2014