首页 > 解决方案 > Eclipse 的 javaCompletionProposalComputer 的内容辅助不起作用

问题描述

用于 Eclipse 的org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer的内容辅助不起作用。“代码和我”提案不可见

内容辅助视图 Eclipse

我和这里描述的一样,但没有成功 http://codeandme.blogspot.com/2014/05/extending-jsdt-adding-your-own-content.html

与上面链接中描述的一样,我这样做

        <?xml version="1.0" encoding="UTF-8"?>
    <?eclipse version="3.4"?>
    <plugin>
       <extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
       id="codeandme_category"
       name="Code and me proposals">
       <proposalCategory/>
     </extension>

 <extension
       id="codeandme_proposal"
       point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer">
   <javaCompletionProposalComputer
      class="com.codeandme.jsdt.contentassist.CustomCompletionProposalComputer"
      categoryId="com.codeandme.jsdt.contentassist.codeandme_category"
      activate="true">
   </javaCompletionProposalComputer>
 </extension>

</plugin>

    package com.codeandme.jsdt.contentassist;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.text.contentassist.CompletionProposal;
import org.eclipse.wst.jsdt.ui.text.java.ContentAssistInvocationContext;
import org.eclipse.wst.jsdt.ui.text.java.IJavaCompletionProposalComputer;

public class CustomCompletionProposalComputer implements IJavaCompletionProposalComputer {

 @Override
 public void sessionStarted() {
 }

 @Override
 public List computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {

  ArrayList<CompletionProposal> proposals = new ArrayList<CompletionProposal>();

  proposals.add(new CompletionProposal("codeandme.blogspot.com", context.getInvocationOffset(), 0, "codeandme.blogspot.com".length()));
  proposals.add(new CompletionProposal("<your proposal here>", context.getInvocationOffset(), 0, "<your proposal here>".length()));

  return proposals;
 }

 @Override
 public List computeContextInformation(ContentAssistInvocationContext context, IProgressMonitor monitor) {
  return null;
 }

 @Override
 public String getErrorMessage() {
  return null;
 }

 @Override
 public void sessionEnded() {
 }
}

Eclipse 插件视图

有什么遗漏或错误吗?

标签: javaeclipse-plugin

解决方案


推荐阅读