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


Java ChooseByNameRegistry类代码示例

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


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

示例1: createLink

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
@Override
public String createLink(Project project) {
    for(ChooseByNameContributor contributor: ChooseByNameRegistry.getInstance().getClassModelContributors()) {
        NavigationItem[] byName = contributor.getItemsByName(fileName, fileName, project, true);
        if(byName.length > 0) {
            StringBuffer buf = new StringBuffer();
            buf.append("goto:c=");
            buf.append(EntityQuery.encode(className));
            buf.append("&f=");
            buf.append(EntityQuery.encode(fileName));
            if(line > 0) {
                buf.append("&l=");
                buf.append(line);
            }
            if(methodName != null) {
                buf.append("&m=");
                buf.append(EntityQuery.encode(methodName));
            }
            return buf.toString();
        }
    }
    return null;
}
 
开发者ID:janotav,项目名称:ali-idea-plugin,代码行数:24,代码来源:ClassCandidate.java

示例2: evaluate

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
private static Editor evaluate(Project project, String link, boolean navigate) {
    Map<String, String> query = parseQuery(link);
    String className = query.get("c");
    int line = query.containsKey("l")? Integer.valueOf(query.get("l")): 0;
    String file = query.get("f");
    String methodName = query.get("m");
    for(ChooseByNameContributor contributor: ChooseByNameRegistry.getInstance().getClassModelContributors()) {
        NavigationItem[] byName = contributor.getItemsByName(file, file, project, true);
        NavigationItem item = matchClass(byName, className);
        if(item != null) {
            if(!navigate) {
                return null;
            }
            if(item instanceof PsiClass && methodName != null) {
                for(PsiMethod method: ((PsiClass)item).getMethods()) {
                    if(method.getName().equals(methodName)) {
                        project.getComponent(EditSourceUtil.class).navigate(method, true, true);
                        return project.getComponent(FileEditorManager.class).getSelectedTextEditor();
                    }
                }
            }
            project.getComponent(EditSourceUtil.class).navigate(item, true, true);
            Editor editor = project.getComponent(FileEditorManager.class).getSelectedTextEditor();
            if(line > 0) {
                if(editor != null /* && !editor.getDocument().getText().startsWith(PsiBundle.message("psi.decompiled.text.header")) */) { // TODO: string missing since commit 02ca2bd104e91420543cf8c19b2c6a9cbb6c5ab7
                    editor.getCaretModel().moveToLogicalPosition(new LogicalPosition(line - 1, 0));
                    editor.getScrollingModel().scrollToCaret(ScrollType.CENTER);
                    editor.getSelectionModel().removeSelection();
                }
            }
            return editor;
        }
    }
    return null;
}
 
开发者ID:janotav,项目名称:ali-idea-plugin,代码行数:36,代码来源:ClassRecognizer.java

示例3: processImplementations

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
public static void processImplementations(ThriftDefinitionName definitionName, @NotNull Processor<NavigatablePsiElement> processor) {
  String name = definitionName.getText();
  for (ChooseByNameContributor contributor : ChooseByNameRegistry.getInstance().getClassModelContributors()) {
    if (!(contributor instanceof ThriftClassContributor)) {
      for (NavigationItem navigationItem : contributor.getItemsByName(name, name, definitionName.getProject(), false)) {
        if (navigationItem instanceof NavigatablePsiElement && !processor.process((NavigatablePsiElement)navigationItem)) {
          return;
        }
      }
    }
  }
}
 
开发者ID:consulo,项目名称:consulo-apache-thrift,代码行数:13,代码来源:ThriftPsiUtil.java

示例4: hasContributors

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
@Override
protected boolean hasContributors(DataContext dataContext) {
  return ChooseByNameRegistry.getInstance().getSymbolModelContributors().length > 0;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:GotoSymbolAction.java

示例5: hasContributors

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
@Override
protected boolean hasContributors(DataContext dataContext) {
  return ChooseByNameRegistry.getInstance().getClassModelContributors().length > 0;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:GotoClassAction.java

示例6: GotoSymbolModel2

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
public GotoSymbolModel2(@NotNull Project project) {
  super(project, ChooseByNameRegistry.getInstance().getSymbolModelContributors());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:GotoSymbolModel2.java

示例7: GotoClassModel2

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
public GotoClassModel2(@NotNull Project project) {
  super(project, ChooseByNameRegistry.getInstance().getClassModelContributors());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:GotoClassModel2.java

示例8: GotoSymbolModel2

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
public GotoSymbolModel2(@Nonnull Project project) {
  super(project, ChooseByNameRegistry.getInstance().getSymbolModelContributors());
}
 
开发者ID:consulo,项目名称:consulo,代码行数:4,代码来源:GotoSymbolModel2.java

示例9: GotoClassModel2

import com.intellij.navigation.ChooseByNameRegistry; //导入依赖的package包/类
public GotoClassModel2(@Nonnull Project project) {
  super(project, ChooseByNameRegistry.getInstance().getClassModelContributors());
}
 
开发者ID:consulo,项目名称:consulo,代码行数:4,代码来源:GotoClassModel2.java


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