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


Java LocalFileSystem.refreshAndFindFileByIoFile方法代码示例

本文整理汇总了Java中com.intellij.openapi.vfs.LocalFileSystem.refreshAndFindFileByIoFile方法的典型用法代码示例。如果您正苦于以下问题:Java LocalFileSystem.refreshAndFindFileByIoFile方法的具体用法?Java LocalFileSystem.refreshAndFindFileByIoFile怎么用?Java LocalFileSystem.refreshAndFindFileByIoFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.openapi.vfs.LocalFileSystem的用法示例。


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

示例1: createFromTempFile

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public static FileContent createFromTempFile(Project project, String name, String ext, @NotNull byte[] content) throws IOException {
  File tempFile = FileUtil.createTempFile(name, "." + ext);
  if (content.length != 0) {
    FileUtil.writeToFile(tempFile, content);
  }
  tempFile.deleteOnExit();
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  VirtualFile file = lfs.findFileByIoFile(tempFile);
  if (file == null) {
    file = lfs.refreshAndFindFileByIoFile(tempFile);
  }
  if (file != null) {
    return new FileContent(project, file);
  }
  throw new IOException("Can not create temp file for revision content");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:FileContent.java

示例2: openFiles

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
private void openFiles(final Project project, final List<File> fileList, EditorWindow editorWindow) {
  if (editorWindow == null && myEditor != null) {
    editorWindow = findEditorWindow(project);
  }
  final LocalFileSystem fileSystem = LocalFileSystem.getInstance();
  for (File file : fileList) {
    final VirtualFile vFile = fileSystem.refreshAndFindFileByIoFile(file);
    final FileEditorManagerEx fileEditorManager = (FileEditorManagerEx) FileEditorManager.getInstance(project);
    if (vFile != null) {
      if (editorWindow != null) {
        fileEditorManager.openFileWithProviders(vFile, true, editorWindow);
      }
      else {
        new OpenFileDescriptor(project, vFile).navigate(true);
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:FileDropHandler.java

示例3: doCheckout

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public void doCheckout(@NotNull final Project project, @Nullable final Listener listener, @Nullable String predefinedRepositoryUrl) {
  BasicAction.saveAll();
  GitCloneDialog dialog = new GitCloneDialog(project, predefinedRepositoryUrl);
  if (!dialog.showAndGet()) {
    return;
  }
  dialog.rememberSettings();
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final File parent = new File(dialog.getParentDirectory());
  VirtualFile destinationParent = lfs.findFileByIoFile(parent);
  if (destinationParent == null) {
    destinationParent = lfs.refreshAndFindFileByIoFile(parent);
  }
  if (destinationParent == null) {
    return;
  }
  final String sourceRepositoryURL = dialog.getSourceRepositoryURL();
  final String directoryName = dialog.getDirectoryName();
  final String parentDirectory = dialog.getParentDirectory();
  clone(project, myGit, listener, destinationParent, sourceRepositoryURL, directoryName, parentDirectory);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:GitCheckoutProvider.java

示例4: setupRootModel

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
@Override
public void setupRootModel(final ModifiableRootModel modifiableRootModel) throws ConfigurationException {
    super.setupRootModel(modifiableRootModel);

    String contentEntryPath = getContentEntryPath();
    if (StringUtil.isEmpty(contentEntryPath)) {
        throw new ConfigurationException("There is no valid content entry path associated with the module. Unable to generate template directory structure.");
    }

    LocalFileSystem fileSystem = getInstance();
    VirtualFile modelContentRootDir = fileSystem.refreshAndFindFileByIoFile(new File(contentEntryPath));

    if (modelContentRootDir == null) {
        throw new ConfigurationException("Model content root directory '" + contentEntryPath + "' could not be found. Unable to generate template directory structure.");
    }

    ContentEntry content = modifiableRootModel.addContentEntry(modelContentRootDir);

    try {
        VirtualFile sourceCodeDir = VfsUtil.createDirectories(modelContentRootDir.getPath() + "/src/main/java");
        VfsUtil.createDirectories(modelContentRootDir.getPath() + "/src/main/java/com/processing/sketch");

        VirtualFile resources = VfsUtil.createDirectories(modelContentRootDir.getPath() + "/src/main/resources");

        content.addSourceFolder(sourceCodeDir, false);
        content.addSourceFolder(resources, JavaResourceRootType.RESOURCE, JavaResourceRootType.RESOURCE.createDefaultProperties());
    } catch (IOException io) {
        logger.error("Unable to generate template directory structure:", io);
        throw new ConfigurationException("Unable to generate template directory structure.");
    }

    VirtualFile sketchPackagePointer = getInstance().refreshAndFindFileByPath(getContentEntryPath() + "/src/main/java/com/processing/sketch");

    if (generateTemplateSketchClass) {
        ApplicationManager.getApplication().runWriteAction(new CreateSketchTemplateFile(sketchPackagePointer));
    }
}
 
开发者ID:mistodev,项目名称:processing-idea,代码行数:38,代码来源:ProcessingModuleBuilder.java

示例5: refreshOutputDirectories

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public static void refreshOutputDirectories(Collection<File> outputs, boolean async) {
  LocalFileSystem fileSystem = LocalFileSystem.getInstance();
  List<VirtualFile> toRefresh = new ArrayList<VirtualFile>();

  int newDirectories = 0;
  for (File ioOutput : outputs) {
    VirtualFile output = fileSystem.findFileByIoFile(ioOutput);
    if (output != null) {
      toRefresh.add(output);
    }
    else if (ioOutput.exists()) {
      VirtualFile parent = fileSystem.refreshAndFindFileByIoFile(ioOutput.getParentFile());
      if (parent != null) {
        parent.getChildren();
        toRefresh.add(parent);
        newDirectories++;
      }
    }
  }
  if (newDirectories > 10) {
    LOG.info(newDirectories + " new output directories were created, refreshing their parents together to avoid too many rootsChange events");
    RefreshQueue.getInstance().refresh(async, false, null, toRefresh);
  }
  else {
    LOG.debug("Refreshing " + outputs.size() + " outputs");
    fileSystem.refreshIoFiles(outputs, async, false, null);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:CompilerUtil.java

示例6: findValidParentAccurately

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
@Nullable
public static VirtualFile findValidParentAccurately(final FilePath filePath) {
  if (filePath.getVirtualFile() != null) return filePath.getVirtualFile();
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  VirtualFile result = lfs.findFileByIoFile(filePath.getIOFile());
  if (result != null) return result;
  if (! ApplicationManager.getApplication().isReadAccessAllowed()) {
    result = lfs.refreshAndFindFileByIoFile(filePath.getIOFile());
    if (result != null) return result;
  }
  return getValidParentUnderReadAction(filePath);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:ChangesUtil.java

示例7: refreshPassedFilesAndMoveToChangelist

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
@CalledInAwt
public static void refreshPassedFilesAndMoveToChangelist(@NotNull final Project project,
                                                         final Collection<FilePath> directlyAffected,
                                                         final Collection<VirtualFile> indirectlyAffected,
                                                         final Consumer<Collection<FilePath>> targetChangelistMover) {
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  for (FilePath filePath : directlyAffected) {
    lfs.refreshAndFindFileByIoFile(filePath.getIOFile());
  }
  lfs.refreshFiles(indirectlyAffected, false, true, null);
  if (project.isDisposed()) return;

  final ChangeListManager changeListManager = ChangeListManager.getInstance(project);
  if (! directlyAffected.isEmpty() && targetChangelistMover != null) {
    changeListManager.invokeAfterUpdate(new Runnable() {
        @Override
        public void run() {
          targetChangelistMover.consume(directlyAffected);
        }
      }, InvokeAfterUpdateMode.SYNCHRONOUS_CANCELLABLE,
    VcsBundle.message("change.lists.manager.move.changes.to.list"),
    new Consumer<VcsDirtyScopeManager>() {
      @Override
      public void consume(final VcsDirtyScopeManager vcsDirtyScopeManager) {
        markDirty(vcsDirtyScopeManager, directlyAffected, indirectlyAffected);
      }
    }, null);
  } else {
    markDirty(VcsDirtyScopeManager.getInstance(project), directlyAffected, indirectlyAffected);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:32,代码来源:PatchApplier.java

示例8: FileGroupingProjectNode

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public FileGroupingProjectNode(Project project, File file, ViewSettings viewSettings) {
  super(project, file, viewSettings);
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  myVirtualFile = lfs.findFileByIoFile(file);
  if (myVirtualFile == null) {
    myVirtualFile = lfs.refreshAndFindFileByIoFile(file);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:FileGroupingProjectNode.java

示例9: appendNestedVcsRootsToDirt

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public static void appendNestedVcsRootsToDirt(final VcsDirtyScope dirtyScope, GitVcs vcs, final ProjectLevelVcsManager vcsManager) {
  final Set<FilePath> recursivelyDirtyDirectories = dirtyScope.getRecursivelyDirtyDirectories();
  if (recursivelyDirtyDirectories.isEmpty()) {
    return;
  }

  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final Set<VirtualFile> rootsUnderGit = new HashSet<VirtualFile>(Arrays.asList(vcsManager.getRootsUnderVcs(vcs)));
  final Set<VirtualFile> inputColl = new HashSet<VirtualFile>(rootsUnderGit);
  final Set<VirtualFile> existingInScope = new HashSet<VirtualFile>();
  for (FilePath dir : recursivelyDirtyDirectories) {
    VirtualFile vf = dir.getVirtualFile();
    if (vf == null) {
      vf = lfs.findFileByIoFile(dir.getIOFile());
    }
    if (vf == null) {
      vf = lfs.refreshAndFindFileByIoFile(dir.getIOFile());
    }
    if (vf != null) {
      existingInScope.add(vf);
    }
  }
  inputColl.addAll(existingInScope);
  FileUtil.removeAncestors(inputColl, new Convertor<VirtualFile, String>() {
                             @Override
                             public String convert(VirtualFile o) {
                               return o.getPath();
                             }
                           }, new PairProcessor<VirtualFile, VirtualFile>() {
                             @Override
                             public boolean process(VirtualFile parent, VirtualFile child) {
                               if (! existingInScope.contains(child) && existingInScope.contains(parent)) {
                                 debug("adding git root for check: " + child.getPath());
                                 ((VcsModifiableDirtyScope)dirtyScope).addDirtyDirRecursively(VcsUtil.getFilePath(child));
                               }
                               return true;
                             }
                           }
  );
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:41,代码来源:GitChangeProvider.java

示例10: crawlWCRoots

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public static Collection<VirtualFile> crawlWCRoots(final Project project, File path, SvnWCRootCrawler callback, ProgressIndicator progress) {
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  VirtualFile vf = lfs.findFileByIoFile(path);
  if (vf == null) {
    vf = lfs.refreshAndFindFileByIoFile(path);
  }
  if (vf == null) return Collections.emptyList();
  return crawlWCRoots(project, vf, callback, progress);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:SvnUtil.java

示例11: run

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
public void run() {
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final FileGroup conflictedGroup = myUpdatedFiles.getGroupById(FileGroup.MERGED_WITH_TREE_CONFLICT);
  final Collection<String> conflictedFiles = conflictedGroup.getFiles();
  final Collection<VirtualFile> parents = new ArrayList<VirtualFile>();

  if ((conflictedFiles != null) && (! conflictedFiles.isEmpty())) {
    for (final String conflictedFile : conflictedFiles) {
      final File file = new File(conflictedFile);
      final VirtualFile vfFile = lfs.refreshAndFindFileByIoFile(file);
      if (vfFile != null) {
        parents.add(vfFile);
        continue;
      }
      final File parent = file.getParentFile();

      VirtualFile vf = lfs.findFileByIoFile(parent);
      if (vf == null) {
        vf = lfs.refreshAndFindFileByIoFile(parent);
      }
      if (vf != null) {
        parents.add(vf);
      }
    }
  }

  if (! parents.isEmpty()) {
    RefreshQueue.getInstance().refresh(true, true, new Runnable() {
      public void run() {
        myDirtyScopeManager.filesDirty(null, parents);
      }
    }, parents);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:35,代码来源:AbstractSvnUpdateIntegrateEnvironment.java

示例12: resolveAllBranchPoints

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
@NotNull
private Set<Pair<VirtualFile, SvnBranchConfigurationNew>> resolveAllBranchPoints() {
  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final UrlSerializationHelper helper = new UrlSerializationHelper(SvnVcs.getInstance(myProject));
  final Set<Pair<VirtualFile, SvnBranchConfigurationNew>> branchPointsToLoad = ContainerUtil.newHashSet();
  for (Map.Entry<String, SvnBranchConfiguration> entry : myConfigurationBean.myConfigurationMap.entrySet()) {
    final SvnBranchConfiguration configuration = entry.getValue();
    final VirtualFile root = lfs.refreshAndFindFileByIoFile(new File(entry.getKey()));
    if (root == null) {
      LOG.info("root not found: " + entry.getKey());
      continue;
    }

    final SvnBranchConfiguration configToConvert;
    if ((! myConfigurationBean.mySupportsUserInfoFilter) || configuration.isUserinfoInUrl()) {
      configToConvert = helper.afterDeserialization(entry.getKey(), configuration);
    } else {
      configToConvert = configuration;
    }
    final SvnBranchConfigurationNew newConfig = new SvnBranchConfigurationNew();
    newConfig.setTrunkUrl(configToConvert.getTrunkUrl());
    newConfig.setUserinfoInUrl(configToConvert.isUserinfoInUrl());
    for (String branchUrl : configToConvert.getBranchUrls()) {
      List<SvnBranchItem> stored = getStored(branchUrl);
      if (stored != null && ! stored.isEmpty()) {
        newConfig.addBranches(branchUrl, new InfoStorage<List<SvnBranchItem>>(stored, InfoReliability.setByUser));
      } else {
        branchPointsToLoad.add(Pair.create(root, newConfig));
        newConfig.addBranches(branchUrl, new InfoStorage<List<SvnBranchItem>>(new ArrayList<SvnBranchItem>(), InfoReliability.empty));
      }
    }

    myBunch.updateForRoot(root, new InfoStorage<SvnBranchConfigurationNew>(newConfig, InfoReliability.setByUser), false);
  }
  return branchPointsToLoad;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:37,代码来源:SvnBranchConfigurationManager.java

示例13: simpleExternalStatusImpl

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
private void simpleExternalStatusImpl() {
  final File sourceFile = new File(myWorkingCopyDir.getPath(), "source" + File.separator + "s1.txt");
  final File externalFile = new File(myWorkingCopyDir.getPath(), "source" + File.separator + "external" + File.separator + "t12.txt");

  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final VirtualFile vf1 = lfs.refreshAndFindFileByIoFile(sourceFile);
  final VirtualFile vf2 = lfs.refreshAndFindFileByIoFile(externalFile);

  Assert.assertNotNull(vf1);
  Assert.assertNotNull(vf2);

  VcsTestUtil.editFileInCommand(myProject, vf1, "test externals 123" + System.currentTimeMillis());
  VcsTestUtil.editFileInCommand(myProject, vf2, "test externals 123" + System.currentTimeMillis());

  VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty();
  clManager.ensureUpToDate(false);

  final Change change1 = clManager.getChange(vf1);
  final Change change2 = clManager.getChange(vf2);

  Assert.assertNotNull(change1);
  Assert.assertNotNull(change2);

  Assert.assertNotNull(change1.getBeforeRevision());
  Assert.assertNotNull(change2.getBeforeRevision());

  Assert.assertNotNull(change1.getAfterRevision());
  Assert.assertNotNull(change2.getAfterRevision());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:SvnExternalTest.java

示例14: testSimpleExternalsStatus

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
@Test
public void testSimpleExternalsStatus() throws Exception {
  prepareExternal();
  final File sourceFile = new File(myWorkingCopyDir.getPath(), "source" + File.separator + "s1.txt");
  final File externalFile = new File(myWorkingCopyDir.getPath(), "source" + File.separator + "external" + File.separator + "t12.txt");

  final LocalFileSystem lfs = LocalFileSystem.getInstance();
  final VirtualFile vf1 = lfs.refreshAndFindFileByIoFile(sourceFile);
  final VirtualFile vf2 = lfs.refreshAndFindFileByIoFile(externalFile);

  Assert.assertNotNull(vf1);
  Assert.assertNotNull(vf2);

  VcsTestUtil.editFileInCommand(myProject, vf1, "test externals 123" + System.currentTimeMillis());
  VcsTestUtil.editFileInCommand(myProject, vf2, "test externals 123" + System.currentTimeMillis());

  VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty();
  clManager.ensureUpToDate(false);

  final Change change1 = clManager.getChange(vf1);
  final Change change2 = clManager.getChange(vf2);

  Assert.assertNotNull(change1);
  Assert.assertNotNull(change2);

  Assert.assertNotNull(change1.getBeforeRevision());
  Assert.assertNotNull(change2.getBeforeRevision());

  Assert.assertNotNull(change1.getAfterRevision());
  Assert.assertNotNull(change2.getAfterRevision());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:32,代码来源:SvnExternalTest.java

示例15: findFileByIoFileRefreshIfNeeded

import com.intellij.openapi.vfs.LocalFileSystem; //导入方法依赖的package包/类
/**
 * Like {@link com.intellij.openapi.vfs.VfsUtil#findFileByIoFile} with refresh set to true.
 *
 * <p>Note: there are restrictions on the calling context. See comments for
 * refreshAndFindFileByIoFile.
 */
@Nullable
static VirtualFile findFileByIoFileRefreshIfNeeded(File file) {
  LocalFileSystem fileSystem = getInstance().getSystem();
  VirtualFile virtualFile = fileSystem.findFileByIoFile(file);
  if (virtualFile == null || !virtualFile.isValid()) {
    virtualFile = fileSystem.refreshAndFindFileByIoFile(file);
  }
  return virtualFile;
}
 
开发者ID:bazelbuild,项目名称:intellij,代码行数:16,代码来源:VirtualFileSystemProvider.java


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