Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse插件:HTML格式的内容辅助建议信息_Java_Eclipse_Eclipse Plugin_Eclipse Jdt - Fatal编程技术网

Java Eclipse插件:HTML格式的内容辅助建议信息

Java Eclipse插件:HTML格式的内容辅助建议信息,java,eclipse,eclipse-plugin,eclipse-jdt,Java,Eclipse,Eclipse Plugin,Eclipse Jdt,我正在扩展EclipseJDT的内容辅助, 我编写了一个实现IJavaCompletionProposalComputer的类, 我的代码如下所示: final static String[] fgProposals = { "A", "B" }; final static String[] fgInfo = { "<font color='red'>A_info</font>", "B_info" }; @Override public List<ICompl

我正在扩展EclipseJDT的内容辅助,
我编写了一个实现IJavaCompletionProposalComputer的类,
我的代码如下所示:

final static String[] fgProposals = { "A", "B" }; 
final static String[] fgInfo = { "<font color='red'>A_info</font>", "B_info" };

@Override
public List<ICompletionProposal>
computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
  ICompletionProposal[] result = new ICompletionProposal[fgProposals.length];
  for (int i= 0; i < fgProposals.length; i++) {
    IContextInformation info = new ContextInformation("AA", "BB");
    result[i]= new CompletionProposal(
        fgProposals[i], context.getInvocationOffset(), 0,
        fgProposals[i].length(), null, fgProposals[i],  
        info, fgInfo[i]);   
  }
  return Arrays.asList(result);
}
final static String[]fg={“A”,“B”};
最后一个静态字符串[]fgInfo={“A_info”,“B_info”};
@凌驾
公开名单
ComputeCompletionProposition(ContentAssistinationContext,IProgressMonitor){
ICompletionProposal[]结果=新ICompletionProposal[fgPropositions.length];
for(int i=0;i
然而,
附加信息(所选方案右侧的窗口)
忽略html标记,只显示纯文本

我的问题与本主题相同:

我读过这个,
但我无法理解他们所说的解释。

有人能告诉我如何用更清楚的解释来解决这个问题吗?
一个简单的代码片段将帮助很多

谢谢。

一个简单的代码片段是不可能的,因为这并不简单

您必须返回一个实现了
ICompletionProposal
ICompletionProposalExtension3
的类数组,而不是返回一个
CompletionProposal
数组

ICompletionProposalExtension3
中的一个额外方法是

public IInformationControlCreator getInformationControlCreator()
这必须返回一个
IInformationControlCreator
类。这个类只有一个方法:

public IInformationControl createInformationControl(Shell parent)
返回的
IInformationControl
是显示建议并可以处理HTML的类。有一个抽象类
AbstractInformationControl
,它实现了一些基本需求,但要处理HTML则由您自己决定


处理HTML的一种方法是使用SWT
Browser
小部件。有一个
浏览器信息控件
可以执行此操作,但它位于内部
org.eclipse.jface.internal.text.html
中,因此插件无法使用它。

非常感谢!!你的回答对我很有帮助。我使用了DefaultInformationControl,它工作正常,但它只支持非常小的简单html标记。我正在寻找能够支持更多html标记的方法。