2

Eclipse JSDT 的内容辅助org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer没有给出任何建议。

Preferences -> JavaScript -> Editor -> Content Assist -> Advanced “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 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()));
    }

帮助的例子是

所有代码都在 GitHUbcontentassist包上https://github.com/Enide/nodeclipse-1/tree/master/org.nodeclipse.ui/src/org/nodeclipse/ui/contentassist

4

2 回答 2

1

正如@zulus 所说:

尝试在 javaCompletionProposalComputer 中添加 activate="true" 并删除

有效的是:

<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>


(来源:nodeclipse.org

于 2014-01-08T13:33:18.250 回答
0

如果您需要一个实现 Pauls 答案的简单示例实现,您可以查看本教程:http ://codeandme.blogspot.co.at/2014/05/extending-jsdt-adding-your-own-content.html

于 2014-05-15T20:28:15.620 回答