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

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

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

в соответствии с рекомендациями Bananaweizen для Content Assistant для редактора на основе 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()));
    }

примеры из справки

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

2 ответа

Решение

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

попробуйте добавить activ ="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>

http://www.nodeclipse.org/img/Completion-for-base-Node.js-modules.PNG

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

Другие вопросы по тегам