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


Java CompletionItem类代码示例

本文整理汇总了Java中org.eclipse.lsp4j.CompletionItem的典型用法代码示例。如果您正苦于以下问题:Java CompletionItem类的具体用法?Java CompletionItem怎么用?Java CompletionItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CompletionItem类属于org.eclipse.lsp4j包,在下文中一共展示了CompletionItem类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: apply

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Override
public List<CompletionItem> apply(CamelCatalog catalog) {
	Stream<EndpointOptionModel> endpointOptions = ModelHelper.generateComponentModel(catalog.componentJSonSchema(camelComponentName), true).getEndpointOptions().stream();
	return endpointOptions
			.filter(endpoint -> "parameter".equals(endpoint.getKind()))
			.filter(endpoint -> {
				String group = endpoint.getGroup();
				if (isProducer) {
					return !"consumer".equals(group);
				} else {
					return !"producer".equals(group);
				}
			})
			.map(parameter -> {
				CompletionItem completionItem = new CompletionItem(parameter.getName());
				String insertText = parameter.getName() + "=";
				if(parameter.getDefaultValue() != null) {
					insertText += parameter.getDefaultValue();
				}
				completionItem.setInsertText(insertText);
				return completionItem;
			})
			.collect(Collectors.toList());
}
 
开发者ID:lhein,项目名称:camel-language-server,代码行数:25,代码来源:CamelOptionSchemaCompletionsFuture.java

示例2: getCompletions

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
public CompletableFuture<List<CompletionItem>> getCompletions(Position position) {
	if(textDocumentItem != null) {
		try {
			Node correspondingCamelNode = parserFileHelper.getCorrespondingCamelNodeForCompletion(textDocumentItem, position.getLine());
			if (correspondingCamelNode != null) {
				String line = parserFileHelper.getLine(textDocumentItem, position);
				String camelComponentUri = parserFileHelper.getCamelComponentUri(textDocumentItem, position);
				CamelURIInstance camelURIInstance = new CamelURIInstance(camelComponentUri, correspondingCamelNode);
				int positionInCamelUri = position.getCharacter() - line.indexOf("uri=") - 5;
				CamelUriElementInstance camelUriElementInstance = camelURIInstance.getSpecificElement(positionInCamelUri);
				return camelUriElementInstance.getCompletions(camelCatalog, positionInCamelUri);
			}
		} catch (Exception e) {
			LOGGER.error("Error searching for corresponding node elements", e);
		}
	}
	return CompletableFuture.completedFuture(Collections.emptyList());
}
 
开发者ID:lhein,项目名称:camel-language-server,代码行数:19,代码来源:CamelEndpointCompletionProcessor.java

示例3: testChangeEventUpdatesStoredText

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void testChangeEventUpdatesStoredText() throws Exception {
	CamelLanguageServer camelLanguageServer = initializeLanguageServer("<to uri=\"\" xmlns=\"http://camel.apache.org/schema/blueprint\"></to>\n");
	
	DidChangeTextDocumentParams changeEvent = new DidChangeTextDocumentParams();
	VersionedTextDocumentIdentifier textDocument = new VersionedTextDocumentIdentifier();
	textDocument.setUri(DUMMY_URI);
	changeEvent.setTextDocument(textDocument);
	TextDocumentContentChangeEvent contentChange = new TextDocumentContentChangeEvent("<to xmlns=\"http://camel.apache.org/schema/blueprint\" uri=\"\"></to>\n");
	changeEvent.setContentChanges(Collections.singletonList(contentChange));
	camelLanguageServer.getTextDocumentService().didChange(changeEvent);
	
	//check old position doesn't provide completion
	CompletableFuture<Either<List<CompletionItem>, CompletionList>> completionsAtOldPosition = getCompletionFor(camelLanguageServer, new Position(0, 11));
	assertThat(completionsAtOldPosition.get().getLeft()).isEmpty();
	
	//check new position provides completion
	CompletableFuture<Either<List<CompletionItem>, CompletionList>> completionsAtNewPosition = getCompletionFor(camelLanguageServer, new Position(0, 58));
	assertThat(completionsAtNewPosition.get().getLeft()).isNotEmpty();
	
}
 
开发者ID:lhein,项目名称:camel-language-server,代码行数:22,代码来源:CamelTextDocumentServiceTest.java

示例4: 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

示例5: addImport

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void addImport() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 9, 17);

    for (CompletionItem item : items) {
        if ("ArrayList".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), not(nullValue()));
            assertThat(item.getAdditionalTextEdits(), not(empty()));

            return;
        }
    }

    fail("No ArrayList in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:19,代码来源:CompletionsTest.java

示例6: dontImportSamePackage

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void dontImportSamePackage() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 6, 10);

    for (CompletionItem item : items) {
        if ("AutocompleteMember".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), either(empty()).or(nullValue()));

            return;
        }
    }

    fail("No AutocompleteMember in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:18,代码来源:CompletionsTest.java

示例7: dontImportJavaLang

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void dontImportJavaLang() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 11, 38);

    for (CompletionItem item : items) {
        if ("ArrayIndexOutOfBoundsException".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), either(empty()).or(nullValue()));

            return;
        }
    }

    fail("No ArrayIndexOutOfBoundsException in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:18,代码来源:CompletionsTest.java

示例8: dontImportSelf

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void dontImportSelf() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 6, 10);

    for (CompletionItem item : items) {
        if ("AutocompleteOther".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), either(empty()).or(nullValue()));

            return;
        }
    }

    fail("No AutocompleteOther in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:18,代码来源:CompletionsTest.java

示例9: dontImportAlreadyImported

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void dontImportAlreadyImported() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 12, 14);

    for (CompletionItem item : items) {
        if ("Arrays".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), either(empty()).or(nullValue()));

            return;
        }
    }

    fail("No Arrays in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:18,代码来源:CompletionsTest.java

示例10: dontImportAlreadyImportedStar

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void dontImportAlreadyImportedStar() {
    String file = "/org/javacs/example/AutocompleteOther.java";

    // Name of class
    List<? extends CompletionItem> items = items(file, 10, 26);

    for (CompletionItem item : items) {
        if ("ArrayBlockingQueue".equals(item.getLabel())) {
            assertThat(item.getAdditionalTextEdits(), either(empty()).or(nullValue()));

            return;
        }
    }

    fail("No ArrayBlockingQueue in " + items);
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:18,代码来源:CompletionsTest.java

示例11: autoImportConstructor

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void autoImportConstructor() throws IOException {
    String file = "/org/javacs/example/AutocompleteConstructor.java";

    // Static methods
    List<? extends CompletionItem> items = items(file, 6, 19);
    List<String> suggestions = Lists.transform(items, i -> i.getInsertText());

    assertThat(suggestions, hasItems("ArrayList<>($0)"));

    for (CompletionItem each : items) {
        if (each.getInsertText().equals("ArrayList<>"))
            assertThat(
                    "new ? auto-imports",
                    each.getAdditionalTextEdits(),
                    both(not(empty())).and(not(nullValue())));
    }
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:19,代码来源:CompletionsTest.java

示例12: importClass

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void importClass() throws IOException {
    String file = "/org/javacs/example/AutocompletePackage.java";

    // Static methods
    List<? extends CompletionItem> items = items(file, 4, 25);
    List<String> suggestions = Lists.transform(items, i -> i.getLabel());

    assertThat(suggestions, hasItems("OtherPackagePublic"));
    assertThat(suggestions, not(hasItems("OtherPackagePrivate")));

    for (CompletionItem item : items) {
        if (item.getLabel().equals("OtherPackagePublic"))
            assertThat(
                    "Don't import when completing imports",
                    item.getAdditionalTextEdits(),
                    either(empty()).or(nullValue()));
    }
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:20,代码来源:CompletionsTest.java

示例13: otherPackageId

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
@Test
public void otherPackageId() throws IOException {
    String file = "/org/javacs/example/AutocompleteOtherPackage.java";

    // Static methods
    List<? extends CompletionItem> items = items(file, 5, 14);
    List<String> suggestions = Lists.transform(items, i -> i.getLabel());

    assertThat(suggestions, hasItems("OtherPackagePublic"));
    assertThat(suggestions, not(hasItems("OtherPackagePrivate")));

    for (CompletionItem item : items) {
        if (item.getLabel().equals("OtherPackagePublic"))
            assertThat(
                    "Auto-import OtherPackagePublic",
                    item.getAdditionalTextEdits(),
                    not(empty()));
    }
}
 
开发者ID:georgewfraser,项目名称:vscode-javac,代码行数:20,代码来源:CompletionsTest.java

示例14: getCompletions

import org.eclipse.lsp4j.CompletionItem; //导入依赖的package包/类
public synchronized void getCompletions(final SSymbol name,
    final Set<CompletionItem> results) {
  for (Variable v : variables) {
    matchAndAdd(name, v.name, results, CompletionItemKind.Variable);
  }

  for (SInvokable m : methods) {
    matchAndAdd(name, m.getSignature(), results, CompletionItemKind.Method);
  }

  for (SlotDefinition s : slots) {
    matchAndAdd(name, s.getName(), results, CompletionItemKind.Field);
  }

  for (MixinDefinition c : classes) {
    matchAndAdd(name, c.getName(), results, CompletionItemKind.Class);
    matchAndAdd(name, c.getPrimaryFactorySelector(), results,
        CompletionItemKind.Constructor);
  }
}
 
开发者ID:smarr,项目名称:SOMns-vscode,代码行数:21,代码来源:SomStructures.java

示例15: 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


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