当前位置: 首页>>代码示例>>Java>>正文


Java CompletionItem.setLabel方法代码示例

本文整理汇总了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;
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:33,代码来源:Completions.java

示例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());
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:17,代码来源:CompletionProposalDescriptionProvider.java

示例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));
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:18,代码来源:CompletionProposalDescriptionProvider.java

示例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));
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:23,代码来源:CompletionProposalDescriptionProvider.java

示例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;
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:16,代码来源:Completions.java

示例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);
  }
}
 
开发者ID:smarr,项目名称:SOMns-vscode,代码行数:10,代码来源:SomStructures.java

示例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()));

}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:47,代码来源:CompletionProposalDescriptionProvider.java

示例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()));
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:33,代码来源:CompletionProposalDescriptionProvider.java

示例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());
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:12,代码来源:CompletionProposalDescriptionProvider.java

示例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));
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:37,代码来源:CompletionProposalDescriptionProvider.java

示例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;
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:31,代码来源:ContentAssistService.java

示例12: createJavadocSimpleProposalLabel

import org.eclipse.lsp4j.CompletionItem; //导入方法依赖的package包/类
private void createJavadocSimpleProposalLabel(CompletionProposal proposal, CompletionItem item) {
	item.setLabel(createSimpleLabel(proposal).toString());
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:4,代码来源:CompletionProposalDescriptionProvider.java

示例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()));
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:5,代码来源:CompletionProposalDescriptionProvider.java

示例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);
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:66,代码来源:CompletionProposalDescriptionProvider.java

示例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);
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:19,代码来源:CompletionProposalDescriptionProvider.java


注:本文中的org.eclipse.lsp4j.CompletionItem.setLabel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。