com.intellij.openapi.extensions.Extensions类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(168)

本文整理了Java中com.intellij.openapi.extensions.Extensions类的一些代码示例,展示了Extensions类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Extensions类的具体详情如下:
包路径:com.intellij.openapi.extensions.Extensions
类名称:Extensions

Extensions介绍

暂无

代码示例

代码示例来源:origin: JetBrains/ideavim

@Override
 public void valueChange(OptionChangeEvent event) {
  for (VimExtension extension : Extensions.getExtensions(VimExtension.EP_NAME)) {
   if (name.equals(extension.getName())) {
    if (Options.getInstance().isSet(name)) {
     extension.init();
     logger.info("IdeaVim extension '" + name + "' initialized");
    }
    else {
     extension.dispose();
    }
   }
  }
 }
});

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

@Override
 protected void setUp() throws Exception {
  super.setUp();
  CoreApplicationEnvironment.registerExtensionPoint(
   Extensions.getRootArea(), "com.intellij.lang.braceMatcher", LanguageExtensionPoint.class);
 }
}

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

@NotNull
 public static GoApplicationRunConfigurationType getInstance() {
  return Extensions.findExtension(CONFIGURATION_TYPE_EP, GoApplicationRunConfigurationType.class);
 }
}

代码示例来源:origin: JetBrains/Grammar-Kit

public static void initExtensions(@NotNull MockProject project) {
 Extensions.getRootArea().registerExtensionPoint("com.intellij.referencesSearch", "com.intellij.util.QueryExecutor");
 Extensions.getRootArea().registerExtensionPoint("com.intellij.useScopeEnlarger", "com.intellij.psi.search.UseScopeEnlarger");
 Extensions.getRootArea().registerExtensionPoint("com.intellij.useScopeOptimizer", "com.intellij.psi.search.UseScopeOptimizer");
 Extensions.getRootArea().registerExtensionPoint("com.intellij.languageInjector", "com.intellij.psi.LanguageInjector");
 Extensions.getArea(project).registerExtensionPoint("com.intellij.multiHostInjector", "com.intellij.lang.injection.MultiHostInjector");
 Extensions.getRootArea().registerExtensionPoint("com.intellij.codeInsight.containerProvider", "com.intellij.codeInsight.ContainerProvider");
 Extensions.getRootArea().getExtensionPoint("com.intellij.referencesSearch").registerExtension(new CachesBasedRefSearcher());
 registerApplicationService(project, PsiReferenceService.class, PsiReferenceServiceImpl.class);
 registerApplicationService(project, JobLauncher.class, JobLauncherImpl.class);
 registerApplicationService(project, AsyncFutureFactory.class, AsyncFutureFactoryImpl.class);
 project.registerService(PsiSearchHelper.class, PsiSearchHelperImpl.class);
 project.registerService(DumbService.class, DumbServiceImpl.class);
 project.registerService(ResolveCache.class, ResolveCache.class);
 project.registerService(PsiFileFactory.class, PsiFileFactoryImpl.class);
 try {
  project.registerService(JavaHelper.class, new JavaHelper.AsmHelper());
 }
 catch (LinkageError e) {
  System.out.println("ASM not available, using reflection helper: " + e);
  project.registerService(JavaHelper.class, new JavaHelper.ReflectionHelper());
 }
 project.registerService(InjectedLanguageManager.class, InjectedLanguageManagerImpl.class);
 ProgressManager.getInstance();
}

代码示例来源:origin: GoogleCloudPlatform/google-cloud-intellij

/** Sets up the container. */
@Before
public final void setup() {
 // prevent memory leak error
 TestRunnerUtil.replaceIdeEventQueueSafely();
 Disposable disposableParent = TestUtils.createMockApplication();
 applicationContainer =
   (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer();
 project = TestUtils.mockProject(applicationContainer);
 Extensions.cleanRootArea(disposableParent);
 extensionsArea = (ExtensionsAreaImpl) Extensions.getRootArea();
}

代码示例来源:origin: GoogleCloudPlatform/google-cloud-intellij

/** Construct a mock project. */
@NotNull
public static MockProject mockProject(@Nullable PicoContainer container) {
 Extensions.registerAreaClass("IDEA_PROJECT", null);
 container = container != null ? container : new DefaultPicoContainer();
 return new MockProject(container, getParentDisposableForCleanup());
}

代码示例来源:origin: KronicDeth/intellij-elixir

projectJdkTable.addJdk(sdk);
ExtensionsArea area = Extensions.getArea(myProject);
registerExtensionPoint(area, ProjectExtension.EP_NAME, ProjectExtension.class);

代码示例来源:origin: Non-Dairy-Soy-Plugin/Non-Dairy-Soy-Plugin

public static void init() {
  if (!INITILAIZED.getAndSet(true)) {
    Extensions.registerAreaClass("IDEA_PROJECT", null);
    System.setProperty(TreeNavigator.OVERRIDE_TREE_NAVIGATOR_PROPERTY,
              MockTreeNavigator.class.getName());
    LanguageParserDefinitions.INSTANCE.addExplicitExtension(SoyLanguage.INSTANCE,
                                new SoyParserDefinition());
    if (System.getProperty(PsiElementPath.TRACE_PATH_PROPERTY_NAME) == null) {
      System.setProperty(PsiElementPath.TRACE_PATH_PROPERTY_NAME,
                PsiElementPath.TRACE_PATH_BY_THREAD);
    }
  }
}

代码示例来源:origin: GoogleCloudPlatform/google-cloud-intellij

@Test
public void decorator_returnsTrue_noOtherDecorators_called() {
 // register two implementations for decorator extension point.
 // TODO(ivanporty) possibly make this part of CloudToolsRule using @ExtensionPoint signature.
 // TODO(ivanporty) figure out if it's possible to pass existing mocks instead of class names.
 Element extensionElement1 = new Element("cloudApiActionDecorator");
 extensionElement1.setAttribute("implementation", TestDecoratorOne.class.getName());
 Extensions.getArea(null)
   .registerExtension(
     new DefaultPluginDescriptor("com.gct.core"),
     extensionElement1,
     "com.google.gct.cloudapis");
 Element extensionElement2 = new Element("cloudApiActionDecorator");
 extensionElement2.setAttribute("implementation", TestDecoratorTwo.class.getName());
 Extensions.getArea(null)
   .registerExtension(
     new DefaultPluginDescriptor("com.gct.core"),
     extensionElement2,
     "com.google.gct.cloudapis");
 addCloudLibrariesAction.update(mockActionEvent);
 // make sure decorator that decorated an action stops other decoration.
 assertThat(TestDecoratorOne.decoratorCalled).isTrue();
 assertThat(TestDecoratorTwo.decoratorCalled).isFalse();
}

代码示例来源:origin: JetBrains/ideavim

private void registerExtensionOptions() {
 for (VimExtension extension : Extensions.getExtensions(VimExtension.EP_NAME)) {
  final String name = extension.getName();
  final ToggleOption option = new ToggleOption(name, name, false);
  option.addOptionChangeListener(new OptionChangeListener() {
   @Override
   public void valueChange(OptionChangeEvent event) {
    for (VimExtension extension : Extensions.getExtensions(VimExtension.EP_NAME)) {
     if (name.equals(extension.getName())) {
      if (Options.getInstance().isSet(name)) {
       extension.init();
       logger.info("IdeaVim extension '" + name + "' initialized");
      }
      else {
       extension.dispose();
      }
     }
    }
   }
  });
  addOption(option);
 }
}

代码示例来源:origin: Camelcade/Perl5-IDEA

@NotNull
 private ExtensionPoint<KeyedLazyInstance<Handler>> getPoint() {
  return Extensions.getRootArea().getExtensionPoint(myEpName);
 }
}

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

@NotNull
 public static GoTestRunConfigurationType getInstance() {
  return Extensions.findExtension(CONFIGURATION_TYPE_EP, GoTestRunConfigurationType.class);
 }
}

代码示例来源:origin: JetBrains/Grammar-Kit

Extensions.registerAreaClass("IDEA_PROJECT", null);
MockProjectEx project = new MockProjectEx(rootDisposable);
MutablePicoContainer appContainer = application.getPicoContainer();

代码示例来源:origin: hsz/idea-gitignore

debouncedStatusesChanged.run();
for (AbstractProjectViewPane pane : Extensions.getExtensions(AbstractProjectViewPane.EP_NAME, myProject)) {
  if (pane.getTreeBuilder() != null) {
    pane.getTreeBuilder().queueUpdate();

代码示例来源:origin: JetBrains/Grammar-Kit

public static <T> void registerExtensionPoint(ExtensionPointName<T> extensionPointName, final Class<T> aClass) {
 registerExtensionPoint(Extensions.getRootArea(), extensionPointName, aClass);
}

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

@NotNull
 public static GoRunFileConfigurationType getInstance() {
  return Extensions.findExtension(CONFIGURATION_TYPE_EP, GoRunFileConfigurationType.class);
 }
}

代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin

public void assertNavigationContains(PsiElement psiElement, String targetShortcut) {
  if(!targetShortcut.startsWith("\\")) {
    targetShortcut = "\\" + targetShortcut;
  }
  Set<String> classTargets = new HashSet<String>();
  for (GotoDeclarationHandler gotoDeclarationHandler : Extensions.getExtensions(GotoDeclarationHandler.EP_NAME)) {
    PsiElement[] gotoDeclarationTargets = gotoDeclarationHandler.getGotoDeclarationTargets(psiElement, 0, myFixture.getEditor());
    if(gotoDeclarationTargets != null && gotoDeclarationTargets.length > 0) {
      for (PsiElement gotoDeclarationTarget : gotoDeclarationTargets) {
        if(gotoDeclarationTarget instanceof Method) {
          String meName = ((Method) gotoDeclarationTarget).getName();
          String clName = ((Method) gotoDeclarationTarget).getContainingClass().getPresentableFQN();
          if(!clName.startsWith("\\")) {
            clName = "\\" + clName;
          }
          classTargets.add(clName + "::" + meName);
        } else if(gotoDeclarationTarget instanceof Function) {
          classTargets.add("\\" + ((Function) gotoDeclarationTarget).getName());
        }
      }
    }
  }
  if(!classTargets.contains(targetShortcut)) {
    fail(String.format("failed that PsiElement (%s) navigate to %s on %s", psiElement.toString(), targetShortcut, classTargets.toString()));
  }
}

代码示例来源:origin: GoogleCloudPlatform/google-cloud-intellij

@Override
public <T> void registerExtension(
  @NotNull ExtensionPointName<T> extensionPoint, @NotNull T extension) {
 Extensions.getRootArea().getExtensionPoint(extensionPoint).registerExtension(extension);
}

代码示例来源:origin: go-lang-plugin-org/go-lang-idea-plugin

@NotNull
 public static GoAppEngineRunConfigurationType getInstance() {
  return Extensions.findExtension(CONFIGURATION_TYPE_EP, GoAppEngineRunConfigurationType.class);
 }
}

代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin

private void assertNavigationIsEmpty() {
  PsiElement psiElement = myFixture.getFile().findElementAt(myFixture.getCaretOffset());
  for (GotoDeclarationHandler gotoDeclarationHandler : Extensions.getExtensions(GotoDeclarationHandler.EP_NAME)) {
    PsiElement[] gotoDeclarationTargets = gotoDeclarationHandler.getGotoDeclarationTargets(psiElement, 0, myFixture.getEditor());
    if(gotoDeclarationTargets != null && gotoDeclarationTargets.length > 0) {
      fail(String.format("failed that PsiElement (%s) navigate is empty; found target in '%s'", psiElement.toString(), gotoDeclarationHandler.getClass()));
    }
  }
}

相关文章