本文整理汇总了Java中org.eclipse.lsp4j.CompletionItem.setLabel方法的典型用法代码示例。如果您正苦于以下问题:Java CompletionItem.setLabel方法的具体用法?Java CompletionItem.setLabel怎么用?Java CompletionItem.setLabel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.lsp4j.CompletionItem
的用法示例。
在下文中一共展示了CompletionItem.setLabel方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: completeConstructor
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
/**
* Complete constructor with minimal type information.
*
* <p>This is important when we're autocompleting new ? with a class that we haven't yet
* imported. We don't yet have detailed type information or javadocs, and it's expensive to
* retrieve them. So we autocomplete a minimal constructor, and let signature-help fill in the
* details.
*/
private CompletionItem completeConstructor(
String packageName, String className, boolean hasTypeParameters) {
CompletionItem item = new CompletionItem();
String qualifiedName = packageName.isEmpty() ? className : packageName + "." + className;
String key = String.format("%s#<init>", className);
String insertText = className;
if (hasTypeParameters) insertText += "<>";
insertText += "($0)";
item.setKind(CompletionItemKind.Constructor);
item.setLabel(className);
item.setDetail(packageName);
item.setInsertText(insertText);
item.setInsertTextFormat(InsertTextFormat.Snippet);
item.setCommand(TRIGGER_SIGNATURE_HELP);
item.setFilterText(className);
item.setAdditionalTextEdits(addImport(qualifiedName));
item.setSortText("3/" + className);
item.setData(key);
return item;
}
示例2: createTypeProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
void createTypeProposalLabel(char[] fullName, CompletionItem item) {
// only display innermost type name as type name, using any
// enclosing types as qualification
int qIndex= findSimpleNameStart(fullName);
String name = new String(fullName, qIndex, fullName.length - qIndex);
StringBuilder nameBuffer= new StringBuilder();
nameBuffer.append(name);
if (qIndex > 0) {
nameBuffer.append(PACKAGE_NAME_SEPARATOR);
nameBuffer.append(new String(fullName,0,qIndex-1));
}
item.setFilterText(name);
item.setInsertText(name);
item.setLabel(nameBuffer.toString());
}
示例3: createJavadocTypeProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createJavadocTypeProposalLabel(char[] fullName, CompletionItem item) {
// only display innermost type name as type name, using any
// enclosing types as qualification
int qIndex= findSimpleNameStart(fullName);
StringBuilder nameBuffer= new StringBuilder();
String name = new String(fullName, qIndex, fullName.length - qIndex);
nameBuffer.append("{@link "); //$NON-NLS-1$
nameBuffer.append(name);
nameBuffer.append('}');
item.setLabel(nameBuffer.toString());
item.setFilterText(name);
if (qIndex > 0) {
item.setDetail(new String(fullName, 0, qIndex - 1));
}
}
示例4: createAnonymousTypeLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createAnonymousTypeLabel(CompletionProposal proposal, CompletionItem item) {
char[] declaringTypeSignature= proposal.getDeclarationSignature();
declaringTypeSignature= Signature.getTypeErasure(declaringTypeSignature);
String name = new String(Signature.getSignatureSimpleName(declaringTypeSignature));
item.setInsertText(name);
StringBuilder buf= new StringBuilder();
buf.append(name);
buf.append('(');
appendUnboundedParameterList(buf, proposal);
buf.append(')');
buf.append(" "); //$NON-NLS-1$
buf.append("Anonymous Inner Type"); //TODO: consider externalization
item.setLabel(buf.toString());
if (proposal.getRequiredProposals() != null) {
char[] signatureQualifier= Signature.getSignatureQualifier(declaringTypeSignature);
if (signatureQualifier.length > 0) {
item.setDetail(String.valueOf(signatureQualifier));
}
}
setDeclarationSignature(item, String.valueOf(declaringTypeSignature));
}
示例5: completeClassNameFromClassPath
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private CompletionItem completeClassNameFromClassPath(String qualifiedName) {
CompletionItem item = new CompletionItem();
String packageName = mostIds(qualifiedName), simpleName = lastId(qualifiedName);
item.setLabel(simpleName);
item.setDetail(packageName);
item.setInsertText(simpleName);
item.setAdditionalTextEdits(addImport(qualifiedName));
item.setSortText("3/" + simpleName);
item.setData(qualifiedName);
// TODO implement vscode resolve-completion-item
return item;
}
示例6: matchAndAdd
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void matchAndAdd(final SSymbol query, final SSymbol symbol,
final Set<CompletionItem> results, final CompletionItemKind kind) {
if (fuzzyMatches(symbol, query)) {
CompletionItem item = new CompletionItem();
item.setKind(kind);
item.setLabel(symbol.getString());
results.add(item);
}
}
示例7: createMethodProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
/**
* Updates a display label for the given method proposal to item. The display label
* consists of:
* <ul>
* <li>the method name</li>
* <li>the parameter list (see {@link #createParameterList(CompletionProposal)})</li>
* <li>the upper bound of the return type (see {@link SignatureUtil#getUpperBound(String)})</li>
* <li>the raw simple name of the declaring type</li>
* </ul>
* <p>
* Examples:
* For the <code>get(int)</code> method of a variable of type <code>List<? extends Number></code>, the following
* display name is returned: <code>get(int index) Number - List</code>.<br>
* For the <code>add(E)</code> method of a variable of type <code>List<? super Number></code>, the following
* display name is returned: <code>add(Number o) void - List</code>.<br>
* </p>
*
* @param methodProposal the method proposal to display
* @param item to update
*/
private void createMethodProposalLabel(CompletionProposal methodProposal, CompletionItem item) {
StringBuilder description = this.createMethodProposalDescription(methodProposal);
item.setLabel(description.toString());
item.setInsertText(String.valueOf(methodProposal.getName()));
// declaring type
StringBuilder typeInfo = new StringBuilder();
String declaringType= extractDeclaringTypeFQN(methodProposal);
if (methodProposal.getRequiredProposals() != null) {
String qualifier= Signature.getQualifier(declaringType);
if (qualifier.length() > 0) {
typeInfo.append(qualifier);
typeInfo.append('.');
}
}
declaringType= Signature.getSimpleName(declaringType);
typeInfo.append(declaringType);
item.setDetail(typeInfo.toString());
setSignature(item, String.valueOf(methodProposal.getSignature()));
setDeclarationSignature(item, String.valueOf(methodProposal.getDeclarationSignature()));
setName(item, String.valueOf(methodProposal.getName()));
}
示例8: createOverrideMethodProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createOverrideMethodProposalLabel(CompletionProposal methodProposal, CompletionItem item) {
StringBuilder nameBuffer= new StringBuilder();
// method name
String name = new String(methodProposal.getName());
item.setInsertText(name);
nameBuffer.append(name);
// parameters
nameBuffer.append('(');
appendUnboundedParameterList(nameBuffer, methodProposal);
nameBuffer.append(')');
nameBuffer.append(RETURN_TYPE_SEPARATOR);
// return type
// TODO remove SignatureUtil.fix83600 call when bugs are fixed
char[] returnType= createTypeDisplayName(SignatureUtil.getUpperBound(Signature.getReturnType(SignatureUtil.fix83600(methodProposal.getSignature()))));
nameBuffer.append(returnType);
item.setLabel(nameBuffer.toString());
item.setFilterText(name);
// declaring type
StringBuilder typeBuffer = new StringBuilder();
String declaringType= extractDeclaringTypeFQN(methodProposal);
declaringType= Signature.getSimpleName(declaringType);
typeBuffer.append(String.format("Override method in '%s'", declaringType));
item.setDetail(typeBuffer.toString());
setSignature(item, String.valueOf(methodProposal.getSignature()));
setDeclarationSignature(item, String.valueOf(methodProposal.getDeclarationSignature()));
setName(item, String.valueOf(methodProposal.getName()));
}
示例9: createSimpleLabelWithType
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createSimpleLabelWithType(CompletionProposal proposal, CompletionItem item) {
StringBuilder nameBuffer= new StringBuilder();
nameBuffer.append(proposal.getCompletion());
item.setInsertText(nameBuffer.toString());
char[] typeName= Signature.getSignatureSimpleName(proposal.getSignature());
if (typeName.length > 0) {
nameBuffer.append(VAR_TYPE_SEPARATOR);
nameBuffer.append(typeName);
}
item.setLabel(nameBuffer.toString());
}
示例10: createLabelWithTypeAndDeclaration
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createLabelWithTypeAndDeclaration(CompletionProposal proposal, CompletionItem item) {
char[] name= proposal.getCompletion();
if (!isThisPrefix(name)) {
name= proposal.getName();
}
StringBuilder buf= new StringBuilder();
buf.append(name);
item.setInsertText(buf.toString());
char[] typeName= Signature.getSignatureSimpleName(proposal.getSignature());
if (typeName.length > 0) {
buf.append(VAR_TYPE_SEPARATOR);
buf.append(typeName);
}
item.setLabel(buf.toString());
char[] declaration= proposal.getDeclarationSignature();
if (declaration != null) {
setDeclarationSignature(item, String.valueOf(declaration));
StringBuilder declBuf = new StringBuilder();
declaration= Signature.getSignatureSimpleName(declaration);
if (declaration.length > 0) {
if (proposal.getRequiredProposals() != null) {
String declaringType= extractDeclaringTypeFQN(proposal);
String qualifier= Signature.getQualifier(declaringType);
if (qualifier.length() > 0) {
declBuf.append(qualifier);
declBuf.append('.');
}
}
declBuf.append(declaration);
item.setDetail(declBuf.toString());
}
}
setName(item,String.valueOf(name));
}
示例11: toCompletionItem
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
protected CompletionItem toCompletionItem(final ContentAssistEntry entry, final int caretOffset, final Position caretPosition, final Document document) {
final CompletionItem completionItem = new CompletionItem();
String _elvis = null;
String _label = entry.getLabel();
if (_label != null) {
_elvis = _label;
} else {
String _proposal = entry.getProposal();
_elvis = _proposal;
}
completionItem.setLabel(_elvis);
completionItem.setDetail(entry.getDescription());
completionItem.setDocumentation(entry.getDocumentation());
String _elvis_1 = null;
String _prefix = entry.getPrefix();
if (_prefix != null) {
_elvis_1 = _prefix;
} else {
_elvis_1 = "";
}
int _length = _elvis_1.length();
final int prefixOffset = (caretOffset - _length);
final Position prefixPosition = document.getPosition(prefixOffset);
Range _range = new Range(prefixPosition, caretPosition);
String _proposal_1 = entry.getProposal();
TextEdit _textEdit = new TextEdit(_range, _proposal_1);
completionItem.setTextEdit(_textEdit);
completionItem.setKind(this.translateKind(entry));
return completionItem;
}
示例12: createJavadocSimpleProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createJavadocSimpleProposalLabel(CompletionProposal proposal, CompletionItem item) {
item.setLabel(createSimpleLabel(proposal).toString());
}
示例13: createPackageProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createPackageProposalLabel(CompletionProposal proposal, CompletionItem item) {
Assert.isTrue(proposal.getKind() == CompletionProposal.PACKAGE_REF || proposal.getKind() == CompletionProposal.MODULE_REF || proposal.getKind() == CompletionProposal.MODULE_DECLARATION);
item.setLabel(String.valueOf(proposal.getDeclarationSignature()));
}
示例14: updateDescription
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
/**
* Updates the description fields of the item.
*
* @param proposal
* @param item
*/
public void updateDescription(CompletionProposal proposal, CompletionItem item) {
switch (proposal.getKind()) {
case CompletionProposal.METHOD_NAME_REFERENCE:
case CompletionProposal.METHOD_REF:
case CompletionProposal.CONSTRUCTOR_INVOCATION:
case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
if (fContext != null && fContext.isInJavadoc()) {
createJavadocMethodProposalLabel(proposal, item);
break;
}
createMethodProposalLabel(proposal, item);
break;
case CompletionProposal.METHOD_DECLARATION:
createOverrideMethodProposalLabel(proposal, item);
break;
case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION:
createAnonymousTypeLabel(proposal, item);
break;
case CompletionProposal.TYPE_REF:
createTypeProposalLabel(proposal, item);
break;
case CompletionProposal.JAVADOC_TYPE_REF:
createJavadocTypeProposalLabel(proposal, item);
break;
case CompletionProposal.JAVADOC_FIELD_REF:
case CompletionProposal.JAVADOC_VALUE_REF:
case CompletionProposal.JAVADOC_BLOCK_TAG:
case CompletionProposal.JAVADOC_INLINE_TAG:
case CompletionProposal.JAVADOC_PARAM_REF:
createJavadocSimpleProposalLabel(proposal, item);
break;
case CompletionProposal.JAVADOC_METHOD_REF:
createJavadocMethodProposalLabel(proposal, item);
break;
case CompletionProposal.PACKAGE_REF:
case CompletionProposal.MODULE_DECLARATION:
case CompletionProposal.MODULE_REF:
createPackageProposalLabel(proposal, item);
break;
case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
case CompletionProposal.FIELD_REF:
case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
createLabelWithTypeAndDeclaration(proposal, item);
break;
case CompletionProposal.LOCAL_VARIABLE_REF:
case CompletionProposal.VARIABLE_DECLARATION:
createSimpleLabelWithType(proposal, item);
break;
case CompletionProposal.KEYWORD:
case CompletionProposal.LABEL_REF:
item.setLabel(createSimpleLabel(proposal).toString());
break;
default:
JavaLanguageServerPlugin.logInfo(new String(proposal.getName()) + " is of type " + getProposal(proposal));
Assert.isTrue(false);
}
}
示例15: createJavadocMethodProposalLabel
import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
/**
* Updates the label and detail for {@link CompletionItem} with
* <ul>
* <li>the method name</li>
* <li>the raw simple name of the declaring type</li>
* </ul>
*
* @param methodProposal the method proposal to display
* @param item the item to set values to
*/
private void createJavadocMethodProposalLabel(CompletionProposal methodProposal, CompletionItem item) {
// method name
item.setLabel(String.valueOf(methodProposal.getCompletion()));
// declaring type
String declaringType= extractDeclaringTypeFQN(methodProposal);
declaringType= Signature.getSimpleName(declaringType);
item.setDetail(declaringType);
}