类com.intellij.psi.codeStyle.arrangement.Rearranger源码实例Demo

下面列出了怎么用com.intellij.psi.codeStyle.arrangement.Rearranger的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: consulo   文件: CommonCodeStyleSettings.java

protected boolean arrangementSettingsEqual(CommonCodeStyleSettings obj) {
  ArrangementSettings theseSettings = myArrangementSettings;
  ArrangementSettings otherSettings = obj.getArrangementSettings();
  if (theseSettings == null && otherSettings != null) {
    Rearranger<?> rearranger = Rearranger.EXTENSION.forLanguage(myLanguage);
    if (rearranger instanceof ArrangementStandardSettingsAware) {
      theseSettings = ((ArrangementStandardSettingsAware)rearranger).getDefaultSettings();
    }
  }
  return Comparing.equal(theseSettings, obj.getArrangementSettings());
}
 
源代码2 项目: consulo   文件: LayoutCodeDialog.java

private void setUpActions() {
  boolean canOptimizeImports = !LanguageImportStatements.INSTANCE.forFile(myFile).isEmpty();
  myOptimizeImportsCb.setVisible(canOptimizeImports);
  if (canOptimizeImports) {
    myOptimizeImportsCb.setSelected(myLastRunOptions.getLastOptimizeImports());
  }

  boolean canRearrangeCode = Rearranger.EXTENSION.forLanguage(myFile.getLanguage()) != null;
  myRearrangeCodeCb.setVisible(canRearrangeCode);
  if (canRearrangeCode) {
    myRearrangeCodeCb.setSelected(myLastRunOptions.isRearrangeCode(myFile.getLanguage()));
  }

  myOptionalLabel.setVisible(canOptimizeImports || canRearrangeCode);
}
 
源代码3 项目: consulo   文件: RearrangeCodeProcessor.java

@Nonnull
@Override
protected FutureTask<Boolean> prepareTask(@Nonnull final PsiFile file, final boolean processChangedTextOnly) {
  return new FutureTask<Boolean>(new Callable<Boolean>() {
    @Override
    public Boolean call() throws Exception {
      try {
        Collection<TextRange> ranges = getRangesToFormat(file, processChangedTextOnly);
        Document document = PsiDocumentManager.getInstance(myProject).getDocument(file);

        if (document != null && Rearranger.EXTENSION.forLanguage(file.getLanguage()) != null) {
          PsiDocumentManager.getInstance(myProject).doPostponedOperationsAndUnblockDocument(document);
          PsiDocumentManager.getInstance(myProject).commitDocument(document);
          Runnable command = prepareRearrangeCommand(file, ranges);
          try {
            CommandProcessor.getInstance().executeCommand(myProject, command, COMMAND_NAME, null);
          }
          finally {
            PsiDocumentManager.getInstance(myProject).commitDocument(document);
          }
        }

        return true;
      }
      catch (FilesTooBigForDiffException e) {
        handleFileTooBigException(LOG, e, file);
        return false;
      }
    }
  });
}
 
源代码4 项目: consulo   文件: RearrangeCodeAction.java

@RequiredUIAccess
@Override
public void update(@Nonnull AnActionEvent e) {
  PsiFile file = e.getDataContext().getData(CommonDataKeys.PSI_FILE);
  boolean enabled = file != null && Rearranger.EXTENSION.forLanguage(file.getLanguage()) != null;
  e.getPresentation().setEnabled(enabled);
}
 
 类所在包
 同包方法