内容帮助javaCompletionProposalComputer for Eclipse JSDT不提供任何提案 [英] Content assist with javaCompletionProposalComputer for Eclipse JSDT gives no proposal

查看:533
本文介绍了内容帮助javaCompletionProposalComputer for Eclipse JSDT不提供任何提案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于Eclipse JSDT,对 org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer 的内容帮助不提供任何提案。



首选项 - > JavaScript - >编辑 - >内容辅助 - >高级
Nodeclipse Proposals是可见和选择的。根据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实现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 package https://github.com/Enide/nodeclipse- 1 / tree / master / org.nodeclipse.ui / src / org / nodeclipse / ui / contentassist

解决方案

正如@zulus所说:


尝试在javaCompletionProposalComputer中添加activate =true,然后删除


<

工作原理是:

 < extension point =org.eclipse 
id =nodeclispe_textual_proposals
name =Nodeclipse文本提案>
< 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


Content assist with org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer for Eclipse JSDT gives no proposal.

In Preferences -> JavaScript -> Editor -> Content Assist -> Advanced "Nodeclipse Proposals" are visible, and selected.

as advised by Bananaweizen to Content assist for Eclipse JSDT based Editor

in 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 is just wrapper for NodeContentAssistant
(that implements IContentAssistProcessor), that works perfectly well for TextEditor based Editor.

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()));
    }

examples from help are

All code is on GitHUb contentassist package https://github.com/Enide/nodeclipse-1/tree/master/org.nodeclipse.ui/src/org/nodeclipse/ui/contentassist

解决方案

Exactly as @zulus said:

try to add activate="true" in javaCompletionProposalComputer and remove

what worked is:

<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

这篇关于内容帮助javaCompletionProposalComputer for Eclipse JSDT不提供任何提案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆