gpt4 book ai didi

java - Eclipse插件: Content Assist Proposal Info with HTML Format

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:15 25 4
gpt4 key购买 nike

我正在扩展 eclipse jdt 的内容辅助,
我编写了一个实现 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);
}

但是,
附加信息(所选提案右侧的窗口)
忽略 html 标签,仅显示纯文本。

我的问题与此主题相同:
HTML Formatting in Editor ContentAssit
我读过这篇文章,
但我无法理解他们所说的解释。

谁能告诉我如何用更清晰的解释来解决这个问题?
一个简单的代码片段会有很大帮助!!
谢谢。

最佳答案

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

您的代码必须返回同时实现 ICompletionProposalICompletionProposalExtension3 的类数组,而不是返回 CompletionProposal 数组。

ICompletionProposalExtension3 中的额外方法之一是

public IInformationControlCreator getInformationControlCreator()

这必须返回一个 IInformationControlCreator 类。这个类只有一个方法:

public IInformationControl createInformationControl(Shell parent)

返回的IInformationControl是显示提案并可以处理HTML的类。有一个抽象类AbstractInformationControl,它实现了一些基本要求,但处理 HTML 的事情取决于您。

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

关于java - Eclipse插件: Content Assist Proposal Info with HTML Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com