當前位置: 首頁>>代碼示例>>Java>>正文


Java FileEditorManager.isFileOpen方法代碼示例

本文整理匯總了Java中com.intellij.openapi.fileEditor.FileEditorManager.isFileOpen方法的典型用法代碼示例。如果您正苦於以下問題:Java FileEditorManager.isFileOpen方法的具體用法?Java FileEditorManager.isFileOpen怎麽用?Java FileEditorManager.isFileOpen使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.intellij.openapi.fileEditor.FileEditorManager的用法示例。


在下文中一共展示了FileEditorManager.isFileOpen方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: updateOpenedTestFiles

import com.intellij.openapi.fileEditor.FileEditorManager; //導入方法依賴的package包/類
private static void updateOpenedTestFiles(@NotNull Project project,
                                          @NotNull VirtualFile taskDir,
                                          int fromTaskNumber,
                                          int toSubtaskNumber) {
  String fromSubtaskTestName = getTestFileName(project, fromTaskNumber);
  String toSubtaskTestName = getTestFileName(project, toSubtaskNumber);
  if (fromSubtaskTestName == null || toSubtaskTestName == null) {
    return;
  }
  VirtualFile fromTest = taskDir.findChild(fromSubtaskTestName);
  VirtualFile toTest = taskDir.findChild(toSubtaskTestName);
  if (fromTest == null || toTest == null) {
    return;
  }
  FileEditorManager editorManager = FileEditorManager.getInstance(project);
  if (editorManager.isFileOpen(fromTest)) {
    VirtualFile[] selectedFiles = editorManager.getSelectedFiles();
    boolean isSelected = ArrayUtil.contains(fromTest, selectedFiles);
    editorManager.closeFile(fromTest);
    editorManager.openFile(toTest, isSelected);
    if (!isSelected) {
      for (VirtualFile file : selectedFiles) {
        editorManager.openFile(file, true);
      }
    }
  }
}
 
開發者ID:medvector,項目名稱:educational-plugin,代碼行數:28,代碼來源:StudySubtaskUtils.java

示例2: actionPerformed

import com.intellij.openapi.fileEditor.FileEditorManager; //導入方法依賴的package包/類
@Override
public void actionPerformed(AnActionEvent e) {
  final DataContext context = e.getDataContext();
  final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(context);
  final Project project = e.getProject();
  if (file == null || project == null) {
    return;
  }
  final TaskFile taskFile = StudyUtils.getTaskFile(project, file);
  if (taskFile == null) {
    return;
  }
  Editor editor = CommonDataKeys.EDITOR.getData(context);
  if (editor == null) {
    FileEditorManager instance = FileEditorManager.getInstance(project);
    if (!instance.isFileOpen(file)) {
      return;
    }
    FileEditor fileEditor = instance.getSelectedEditor(file);
    if (!(fileEditor instanceof TextEditor)) {
      return;
    }
    editor = ((TextEditor)fileEditor).getEditor();
  }
  List<AnswerPlaceholder> placeholders = new ArrayList<>(taskFile.getAnswerPlaceholders());
  final ClearPlaceholders action = new ClearPlaceholders(taskFile, placeholders, editor);
  EduUtils.runUndoableAction(project, ACTION_NAME, action, UndoConfirmationPolicy.REQUEST_CONFIRMATION);
}
 
開發者ID:medvector,項目名稱:educational-plugin,代碼行數:29,代碼來源:CCDeleteAllAnswerPlaceholdersAction.java

示例3: activatePsiElementIfOpen

import com.intellij.openapi.fileEditor.FileEditorManager; //導入方法依賴的package包/類
private static boolean activatePsiElementIfOpen(@NotNull PsiElement elt, boolean searchForOpen, boolean requestFocus) {
  if (!elt.isValid()) return false;
  elt = elt.getNavigationElement();
  final PsiFile file = elt.getContainingFile();
  if (file == null || !file.isValid()) return false;

  VirtualFile vFile = file.getVirtualFile();
  if (vFile == null) return false;

  if (!EditorHistoryManager.getInstance(elt.getProject()).hasBeenOpen(vFile)) return false;

  final FileEditorManager fem = FileEditorManager.getInstance(elt.getProject());
  if (!fem.isFileOpen(vFile)) {
    fem.openFile(vFile, requestFocus, searchForOpen);
  }

  final TextRange range = elt.getTextRange();
  if (range == null) return false;

  final FileEditor[] editors = fem.getEditors(vFile);
  for (FileEditor editor : editors) {
    if (editor instanceof TextEditor) {
      final Editor text = ((TextEditor)editor).getEditor();
      final int offset = text.getCaretModel().getOffset();

      if (range.containsOffset(offset)) {
        // select the file
        fem.openFile(vFile, requestFocus, searchForOpen);
        return true;
      }
    }
  }

  return false;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:36,代碼來源:NavigationUtil.java

示例4: actionPerformed

import com.intellij.openapi.fileEditor.FileEditorManager; //導入方法依賴的package包/類
@Override
public void actionPerformed(AnActionEvent e) {
  final DataContext context = e.getDataContext();
  final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(context);
  final Project project = e.getProject();
  if (file == null || project == null) {
    return;
  }
  final TaskFile taskFile = CCProjectService.getInstance(project).getTaskFile(file);
  if (taskFile == null) {
    return;
  }
  Editor editor = CommonDataKeys.EDITOR.getData(context);
  if (editor == null) {
    FileEditorManager instance = FileEditorManager.getInstance(project);
    if (!instance.isFileOpen(file)) {
      return;
    }
    FileEditor fileEditor = instance.getSelectedEditor(file);
    if (!(fileEditor instanceof TextEditor)) {
      return;
    }
    editor = ((TextEditor)fileEditor).getEditor();
  }
  List<AnswerPlaceholder> placeholders = new ArrayList<AnswerPlaceholder>(taskFile.getAnswerPlaceholders());
  final ClearPlaceholders action = new ClearPlaceholders(taskFile, placeholders, editor, file, project);
  new WriteCommandAction(project, ACTION_NAME) {
    protected void run(@NotNull final Result result) throws Throwable {
      action.redo();
      UndoManager.getInstance(project).undoableActionPerformed(action);
    }

    @Override
    protected UndoConfirmationPolicy getUndoConfirmationPolicy() {
      return UndoConfirmationPolicy.REQUEST_CONFIRMATION;
    }
  }.execute();
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:39,代碼來源:CCDeleteAllAnswerPlaceholdersAction.java

示例5: hideCoverageData

import com.intellij.openapi.fileEditor.FileEditorManager; //導入方法依賴的package包/類
public void hideCoverageData() {
  if (myEditor == null) return;
  final FileEditorManager fileEditorManager = FileEditorManager.getInstance(myProject);
  final List<RangeHighlighter> highlighters = myEditor.getUserData(COVERAGE_HIGHLIGHTERS);
  if (highlighters != null) {
    for (final RangeHighlighter highlighter : highlighters) {
      ApplicationManager.getApplication().invokeLater(new Runnable() {
        @Override
        public void run() {
          highlighter.dispose();
        }
      });
    }
    myEditor.putUserData(COVERAGE_HIGHLIGHTERS, null);
  }
  
  final Map<FileEditor, EditorNotificationPanel> map = myFile.getCopyableUserData(NOTIFICATION_PANELS);
  if (map != null) {
    final VirtualFile vFile = myFile.getVirtualFile();
    LOG.assertTrue(vFile != null);
    boolean freeAll = !fileEditorManager.isFileOpen(vFile);
    myFile.putCopyableUserData(NOTIFICATION_PANELS, null);
    for (FileEditor fileEditor : map.keySet()) {
      if (!freeAll && !isCurrentEditor(fileEditor)) {
        continue;
      }
      fileEditorManager.removeTopComponent(fileEditor, map.get(fileEditor));
    }
  }

  final DocumentListener documentListener = myEditor.getUserData(COVERAGE_DOCUMENT_LISTENER);
  if (documentListener != null) {
    myDocument.removeDocumentListener(documentListener);
    myEditor.putUserData(COVERAGE_DOCUMENT_LISTENER, null);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:37,代碼來源:SrcFileAnnotator.java


注:本文中的com.intellij.openapi.fileEditor.FileEditorManager.isFileOpen方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。