CIO*_*IOC 4 java eclipse-plugin eclipse-rcp content-assist
我正在为编辑器创建自定义内容辅助,这就是我创建提案的方式:
@Override
public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset) {
String test = "Test";
ContextInformation contextInfo = new ContextInformation("Context display test", "information display test");
CompletionProposal proposal = new CompletionProposal(test,
offset,
0,
test.length(),
Activator.getImage("icons/sample.png"),
test,
contextInfo,
"Additional info");
return new ICompletionProposal[] {proposal};
}
Run Code Online (Sandbox Code Playgroud)
这是结果:
这很好,但是例如,在Java编辑器的内容辅助中,它们使用的颜色是蓝色和灰色:
我知道有一个叫做StyledText可以帮助的课,但我找不到一个很好的例子来结合使用它CompletionProposal.
扩展接口ICompletionProposalExtension6支持样式化显示字符串.它唯一的方法getStyledDisplayString()必须返回StyledString用于显示的方法.
而不是创建一个实例,CompletionProposal你必须实现自己的实例ICompletionProposal,也实现上述扩展.例如:
class StyledCompletionProposal
implements ICompletionProposal, ICompletionProposalExtension6
{
...
@Override
public StyledString getStyledDisplayString() {
return new StyledString("test").append(" [10%]", Styler.QUALIFIER_STYLER);
}
}
Run Code Online (Sandbox Code Playgroud)
此外,必须将内容助手配置为启用彩色标签.对于编辑,通常在SourceViewerConfiguration::getContentAssistant以下情况下完成:
ContentAssistant contentAssistant = new ContentAssistant();
contentAssistant.enableColoredLabels(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |