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


Java Surrounder类代码示例

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


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

示例1: invokeSurrounderInTests

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private static void invokeSurrounderInTests(Project project,
                                            Editor editor,
                                            PsiFile file,
                                            Surrounder surrounder,
                                            int startOffset,
                                            int endOffset, List<SurroundDescriptor> surroundDescriptors) {
  assert ApplicationManager.getApplication().isUnitTestMode();
  for (SurroundDescriptor descriptor : surroundDescriptors) {
    final PsiElement[] elements = descriptor.getElementsToSurround(file, startOffset, endOffset);
    if (elements.length > 0) {
      for (Surrounder descriptorSurrounder : descriptor.getSurrounders()) {
        if (surrounder.getClass().equals(descriptorSurrounder.getClass())) {
          doSurround(project, editor, surrounder, elements);
          return;
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:SurroundWithHandler.java

示例2: doTest

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
protected void doTest(final Surrounder surrounder) throws Exception {
  myFixture.configureByFile(getTestName(false) + ".hx");

  WriteCommandAction.runWriteCommandAction(getProject(), new Runnable() {
    @Override
    public void run() {
      SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
      PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
      CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
    }
  });
    /*CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
        @Override
        public void run() {
            SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
            PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
            CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
        }
    }, null, null);*/

  myFixture.checkResultByFile(getTestName(false) + "_after.hx");
}
 
开发者ID:HaxeFoundation,项目名称:intellij-haxe,代码行数:23,代码来源:HaxeSurroundTest.java

示例3: getSurrounders

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@Override
@NotNull public Surrounder[] getSurrounders() {
  if (mySurrounders == null) {
    final ArrayList<Surrounder> list = new ArrayList<Surrounder>();
    Collections.addAll(list, SURROUNDERS);
    Collections.addAll(list, Extensions.getExtensions(JavaExpressionSurrounder.EP_NAME));
    mySurrounders = list.toArray(new Surrounder[list.size()]);
  }
  return mySurrounders;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:JavaExpressionSurroundDescriptor.java

示例4: doTest

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTest(@NotNull String fileName, Surrounder surrounder) {
  configureByFile(BASE_PATH + fileName + ".java");

  SurroundDescriptor item = ContainerUtil.getFirstItem(LanguageSurrounders.INSTANCE.allForLanguage(JavaLanguage.INSTANCE));
  assertNotNull(item);
  SelectionModel selectionModel = getEditor().getSelectionModel();
  PsiElement[] elements = item.getElementsToSurround(getFile(), selectionModel.getSelectionStart(), selectionModel.getSelectionEnd());
  assertTrue(surrounder.isApplicable(elements));

  SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
  checkResultByFile(BASE_PATH + fileName + "_after.java");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:JavaSurroundWithTest.java

示例5: doTestWithTemplateFinish

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTestWithTemplateFinish(@NotNull String fileName, Surrounder surrounder, @Nullable String textToType) {
  TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
  configureByFile(BASE_PATH + fileName + ".java");
  SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
  if (textToType != null) {
    type(textToType);
  }
  TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
  assertNotNull(templateState);
  templateState.nextTab();
  checkResultByFile(BASE_PATH + fileName + "_after.java");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:JavaSurroundWithTest.java

示例6: doSurroundWithTest

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public static void doSurroundWithTest(@NotNull final CodeInsightTestFixture fixture, @NotNull final Surrounder surrounder,
                                      @NotNull final String before, @NotNull final String after) {
  fixture.configureByFile(before);
  new WriteCommandAction.Simple(fixture.getProject()) {
    @Override
    protected void run() throws Throwable {
      SurroundWithHandler.invoke(fixture.getProject(), fixture.getEditor(), fixture.getFile(), surrounder);
    }
  }.execute();
  fixture.checkResultByFile(after, false);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:CodeInsightTestUtil.java

示例7: invoke

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public static void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file, Surrounder surrounder) {
  if (!CodeInsightUtilBase.prepareEditorForWrite(editor)) return;
  if (file instanceof PsiCompiledElement) {
    HintManager.getInstance().showErrorHint(editor, "Can't modify decompiled code");
    return;
  }

  List<AnAction> applicable = buildSurroundActions(project, editor, file, surrounder);
  if (applicable != null) {
    showPopup(editor, applicable);
  }
  else if (!ApplicationManager.getApplication().isUnitTestMode()) {
    HintManager.getInstance().showErrorHint(editor, "Couldn't find Surround With variants applicable to the current context");
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:SurroundWithHandler.java

示例8: doSurround

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
static void doSurround(final Project project, final Editor editor, final Surrounder surrounder, final PsiElement[] elements) {
  if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
    return;
  }

  try {
    PsiDocumentManager.getInstance(project).commitAllDocuments();
    int col = editor.getCaretModel().getLogicalPosition().column;
    int line = editor.getCaretModel().getLogicalPosition().line;
    if (!editor.getCaretModel().supportsMultipleCarets()) {
      LogicalPosition pos = new LogicalPosition(0, 0);
      editor.getCaretModel().moveToLogicalPosition(pos);
    }
    TextRange range = surrounder.surroundElements(project, editor, elements);
    if (TemplateManager.getInstance(project).getActiveTemplate(editor) == null && InplaceRefactoring.getActiveInplaceRenamer(editor) == null) {
      LogicalPosition pos1 = new LogicalPosition(line, col);
      editor.getCaretModel().moveToLogicalPosition(pos1);
    }
    if (range != null) {
      int offset = range.getStartOffset();
      editor.getCaretModel().removeSecondaryCarets();
      editor.getCaretModel().moveToOffset(offset);
      editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE);
      editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
    }
  }
  catch (IncorrectOperationException e) {
    LOG.error(e);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:SurroundWithHandler.java

示例9: InvokeSurrounderAction

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public InvokeSurrounderAction(Surrounder surrounder, Project project, Editor editor, PsiElement[] elements, char mnemonic) {
  super(UIUtil.MNEMONIC + String.valueOf(mnemonic) + ". " + surrounder.getTemplateDescription());
  mySurrounder = surrounder;
  myProject = project;
  myEditor = editor;
  myElements = elements;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:SurroundWithHandler.java

示例10: surround

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@Nullable
public static TextRange surround(@NotNull Surrounder surrounder,
                                 @NotNull Editor editor,
                                 @NotNull PsiElement expr) {
  Project project = expr.getProject();
  PsiElement[] elements = {expr};
  if (surrounder.isApplicable(elements)) {
    return surrounder.surroundElements(project, editor, elements);
  }
  else {
    showErrorHint(project, editor);
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:PostfixTemplatesUtils.java

示例11: doTest

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTest(final Surrounder surrounder) throws Exception {
  String baseName = "/surround/" + getTestName(false);
  myFixture.configureByFile(baseName + ".py");
  new WriteCommandAction.Simple(myFixture.getProject()) {
    @Override
    protected void run() throws Throwable {
      SurroundWithHandler.invoke(myFixture.getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
    }
  }.execute();
  myFixture.checkResultByFile(baseName + "_after.py", true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:PySurroundWithTest.java

示例12: doTestWithTemplateFinish

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTestWithTemplateFinish(@NotNull String fileName, final Surrounder surrounder, @Nullable String textToType)
  throws Exception {
  TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
  configureByFile(BASE_PATH + fileName + ".java");
  SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
  if (textToType != null) {
    type(textToType);
  }
  TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
  assertNotNull(templateState);
  templateState.nextTab();
  checkResultByFile(BASE_PATH + fileName + "_after.java");
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:14,代码来源:JavaSurroundWithTest.java

示例13: doSurround

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
static void doSurround(final Project project, final Editor editor, final Surrounder surrounder, final PsiElement[] elements) {
  if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
    return;
  }

  try {
    PsiDocumentManager.getInstance(project).commitAllDocuments();
    int col = editor.getCaretModel().getLogicalPosition().column;
    int line = editor.getCaretModel().getLogicalPosition().line;
    LogicalPosition pos = new LogicalPosition(0, 0);
    editor.getCaretModel().moveToLogicalPosition(pos);
    TextRange range = surrounder.surroundElements(project, editor, elements);
    if (TemplateManager.getInstance(project).getActiveTemplate(editor) == null) {
      LogicalPosition pos1 = new LogicalPosition(line, col);
      editor.getCaretModel().moveToLogicalPosition(pos1);
    }
    if (range != null) {
      int offset = range.getStartOffset();
      editor.getCaretModel().moveToOffset(offset);
      editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE);
      editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
    }
  }
  catch (IncorrectOperationException e) {
    LOG.error(e);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:28,代码来源:SurroundWithHandler.java

示例14: getSurrounders

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@NotNull
@Override
public Surrounder[] getSurrounders() {
  return new Surrounder[]{
    new HaxeIfSurrounder(),
    new HaxeIfElseSurrounder(),
    new HaxeWhileSurrounder(),
    new HaxeDoWhileSurrounder(),
    new HaxeTryCatchSurrounder()
  };
}
 
开发者ID:HaxeFoundation,项目名称:intellij-haxe,代码行数:12,代码来源:HaxeSurroundDescriptor.java

示例15: doTest

import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
protected void doTest(final Surrounder surrounder) throws Exception {
  myFixture.configureByFile(getTestName(false) + ".hx");

  ApplicationManager.getApplication().runWriteAction(new Runnable() {
    public void run() {
      SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
      PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
      CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
    }
  });

  myFixture.checkResultByFile(getTestName(false) + "_after.hx");
}
 
开发者ID:consulo,项目名称:consulo-haxe,代码行数:14,代码来源:HaxeSurroundTest.java


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