Skip to content

Replacing consulo.ide.impl.idea.openapi.vfs.VfsUtil with consulo.virtualFileSystem.util.VirtualFileUtil. Replacing consulo.ide.impl.idea.openapi.util.io.FileUtil with consulo.util.io.FileUtil#293

Merged
VISTALL merged 2 commits intoconsulo:masterfrom
unv-unv:eliminating-vfs-util
Apr 18, 2026

Conversation

@unv-unv
Copy link
Copy Markdown
Contributor

@unv-unv unv-unv commented Apr 17, 2026

No description provided.

@unv-unv unv-unv force-pushed the eliminating-vfs-util branch from 27f9094 to c2e95e9 Compare April 17, 2026 22:02
…ualFileSystem.util.VirtualFileUtil. Replacing consulo.ide.impl.idea.openapi.util.io.FileUtil with consulo.util.io.FileUtil.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates file/VFS utility usage away from consulo.ide.impl.idea.openapi.* helpers to the public consulo.util.io.FileUtil and consulo.virtualFileSystem.util.VirtualFileUtil APIs across plugin tests and Java test-framework code, plus a small runtime normalization adjustment in JrtFileSystemImpl.

Changes:

  • Replace VfsUtil/VfsUtilCore usages with VirtualFileUtil in tests and test framework utilities.
  • Replace consulo.ide.impl.idea.openapi.util.io.FileUtil / FileUtilRt usages with consulo.util.io.FileUtil.
  • Adjust JRT FS path normalization to pass an OS-dependent flag.

Reviewed changes

Copilot reviewed 42 out of 43 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
plugin/src/test/java_/com/intellij/unscramble/UnscrambleDialogTest.java Removes old FileUtil import (needs replacement import for continued usage).
plugin/src/test/java_/com/intellij/testFramework/codeInsight/hierarchy/HierarchyViewTestBase.java Removes old FileUtil import (needs replacement import for continued usage).
plugin/src/test/java_/com/intellij/testFramework/TestSourceBasedTestCase.java Removes old FileUtil import (needs replacement import for continued usage).
plugin/src/test/java_/com/intellij/testFramework/ResolveTestCase.java Switches loadText from VfsUtil to VirtualFileUtil.
plugin/src/test/java_/com/intellij/testFramework/InspectionTestCase.java Switches isAncestor from VfsUtilCore to VirtualFileUtil (missing import).
plugin/src/test/java_/com/intellij/testFramework/CompilerTester.java_ Switches VFS helpers from VfsUtil to VirtualFileUtil (missing import).
plugin/src/test/java_/com/intellij/refactoring/TypeCookTest.java Replaces old FileUtil import with consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/refactoring/IntroduceFieldWitSetUpInitializationTest.java Replaces VfsUtil usage with VirtualFileUtil and updates header comment to Javadoc.
plugin/src/test/java_/com/intellij/psi/impl/file/impl/PsiEventsTest.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/impl/file/impl/InvalidateClassFileTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/psi/impl/cache/impl/SCR20733Test.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/impl/cache/impl/SCR19174Test.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/impl/cache/impl/SCR17650Test.java Replaces VfsUtil/VfsUtilCore operations with VirtualFileUtil and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/impl/cache/impl/SCR14423Test.java Replaces VFS helpers with VirtualFileUtil and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/impl/cache/impl/IdCacheTest.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText and updates FileUtil import.
plugin/src/test/java_/com/intellij/psi/formatter/java/AbstractJavaFormatterTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/psi/SrcRepositoryUseTest.java Replaces VfsUtilCore.isAncestor with VirtualFileUtil.isAncestor (missing import).
plugin/src/test/java_/com/intellij/psi/SmartPsiElementPointersTest.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText.
plugin/src/test/java_/com/intellij/psi/JavaStubBuilderTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/psi/ClsRepositoryUseTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/psi/ClsBuilderTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/psi/ArrayIndexOutOfBoundsTest.java Updates FileUtil import and switches virtualToIoFile to VirtualFileUtil.
plugin/src/test/java_/com/intellij/openapi/roots/impl/DirectoryIndexTest.java_ Replaces VfsUtilCore.pathToUrl with VirtualFileUtil.pathToUrl (missing import).
plugin/src/test/java_/com/intellij/ide/fileTemplates/FileTemplatesTest.java Removes old FileUtil import (needs replacement import for continued usage).
plugin/src/test/java_/com/intellij/codeInspection/MagicConstantInspectionTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/codeInspection/JavaAPIUsagesInspectionTest.java Replaces iterateChildrenRecursively call with VirtualFileUtil.
plugin/src/test/java_/com/intellij/codeInsight/psi/ControlFlowTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java Updates FileUtil import to consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/codeInsight/documentation/RefConvertorsTest.java Replaces FileUtilRt usages with consulo.util.io.FileUtil.
plugin/src/test/java_/com/intellij/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText.
plugin/src/test/java_/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java Replaces VfsUtil.saveText with VirtualFileUtil.saveText.
plugin/src/test/java_/com/intellij/codeInsight/SuppressExternalTest.java Replaces VfsUtilCore.pathToUrl with VirtualFileUtil.pathToUrl.
plugin/src/test/java_/com/intellij/codeInsight/AddAnnotationFixTest.java Replaces VfsUtil usage with VirtualFileUtil and updates FileUtil import.
plugin/src/main/java/com/intellij/java/impl/openapi/vfs/impl/jrt/JrtFileSystemImpl.java Switches to consulo.util.io.FileUtil and changes normalize() to pass OS flag.
plugin/src/main/java/com/intellij/java/impl/codeInsight/javadoc/JavaDocInfoGenerator.java Removes unused VfsUtilCore import.
plugin/pom.xml Fixes indentation of a dependency tag.
java-language-impl/src/main/java/com/intellij/java/language/impl/core/CoreJavaFileManager.java Replaces VfsUtilCore.isAncestor with VirtualFileUtil.isAncestor in commented code.
java-impl-testing/src/main/java/com/intellij/testFramework/PsiTestData.java Removes old FileUtil import (needs replacement import for continued usage).
java-impl-testing/src/main/java/com/intellij/testFramework/PsiTestCase.java Switches to VirtualFileUtil for text I/O (missing imports for VirtualFileUtil and FileUtil).
java-impl-testing/src/main/java/com/intellij/testFramework/ModuleTestCase.java Removes old FileUtil import (needs replacement import for continued usage).
java-impl-testing/src/main/java/com/intellij/codeInsight/daemon/quickFix/LightQuickFixTestCase.java Removes old FileUtil import (needs replacement import for continued usage).
java-impl-testing/src/main/java/com/intellij/codeInsight/daemon/DaemonAnalyzerTestCase.java Switches to VirtualFileUtil (missing imports for VirtualFileUtil and FileUtil).
java-impl-testing/src/main/java/com/intellij/codeInsight/CodeInsightTestCase.java Switches saveText/loadText to VirtualFileUtil (missing imports for VirtualFileUtil and FileUtil).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -28,7 +28,6 @@
import consulo.module.Module;
import consulo.module.ModuleManager;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileUtil.copyDir(...) is used later in this class, but the FileUtil import was removed, so it won't compile. Import the replacement consulo.util.io.FileUtil (or qualify the reference).

Suggested change
import consulo.module.ModuleManager;
import consulo.module.ModuleManager;
import consulo.util.io.FileUtil;

Copilot uses AI. Check for mistakes.
import consulo.util.lang.Pair;
import consulo.ide.impl.idea.openapi.util.io.FileUtil;
import consulo.util.lang.StringUtil;
import consulo.util.io.CharsetToolkit;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileUtil.loadFile(...) is used here, but the FileUtil import was removed, so this test base won't compile. Add an import for consulo.util.io.FileUtil (or qualify the call).

Suggested change
import consulo.util.io.CharsetToolkit;
import consulo.util.io.CharsetToolkit;
import consulo.util.io.FileUtil;

Copilot uses AI. Check for mistakes.
Comment on lines 27 to 31
import consulo.util.xml.serializer.DefaultJDOMExternalizer;
import consulo.util.jdom.JDOMUtil;
import consulo.ide.impl.idea.openapi.util.io.FileUtil;
import consulo.util.lang.StringUtil;
import consulo.ide.impl.idea.openapi.vfs.VfsUtil;
import consulo.virtualFileSystem.VirtualFile;
import com.intellij.psi.*;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file now calls VirtualFileUtil.saveText(...) / VirtualFileUtil.loadText(...) and also still uses FileUtil later (FileUtil.loadFile(...)), but neither VirtualFileUtil nor the new consulo.util.io.FileUtil are imported after removing the old IDEA imports. Add the missing imports (or qualify the usages) to restore compilation.

Copilot uses AI. Check for mistakes.
Comment on lines 54 to 58
import consulo.project.startup.StartupManager;
import consulo.util.lang.Pair;
import consulo.document.util.TextRange;
import consulo.ide.impl.idea.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.*;
import consulo.language.editor.inspection.scheme.InspectionProfileManager;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file now uses VirtualFileUtil.virtualToIoFile(...) / VirtualFileUtil.saveText(...) and also calls FileUtil.createIfDoesntExist(...), but there are no imports for consulo.virtualFileSystem.util.VirtualFileUtil or consulo.util.io.FileUtil after removing the old IDEA FileUtil import. Add the missing imports (or qualify the usages) to fix compilation.

Copilot uses AI. Check for mistakes.
Comment on lines +451 to +455
.addExcludeFolder(VirtualFileUtil.pathToUrl(FileUtil.toSystemIndependentName(f.getParentFile().getParent())));
rootModel.commit();

rootModel = ModuleRootManager.getInstance(myModule2).getModifiableModel();
rootModel.addContentEntry(VfsUtilCore.pathToUrl(FileUtil.toSystemIndependentName(f.getPath())));
rootModel.addContentEntry(VirtualFileUtil.pathToUrl(FileUtil.toSystemIndependentName(f.getPath())));
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VirtualFileUtil.pathToUrl(...) is used here, but this file doesn't import consulo.virtualFileSystem.util.VirtualFileUtil, so it won't compile. Add the missing import (or switch back to an in-scope utility like VfsUtilCore.pathToUrl if that’s the intended API).

Copilot uses AI. Check for mistakes.
@@ -16,7 +16,6 @@
import consulo.fileTemplate.impl.internal.CustomFileTemplate;
import com.intellij.java.language.impl.codeInsight.template.JavaTemplateUtil;
import consulo.module.content.ModuleRootManager;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileUtil is used multiple times in this test (loadFile, createTempDirectory), but there is no FileUtil import after the old one was removed, so this file won't compile. Import consulo.util.io.FileUtil (or qualify the calls).

Suggested change
import consulo.module.content.ModuleRootManager;
import consulo.module.content.ModuleRootManager;
import consulo.util.io.FileUtil;

Copilot uses AI. Check for mistakes.
Comment on lines 33 to 35
import consulo.virtualFileSystem.LocalFileSystem;
import consulo.ide.impl.idea.openapi.vfs.VfsUtilCore;
import consulo.virtualFileSystem.VirtualFile;
import consulo.language.psi.PsiElement;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VirtualFileUtil is referenced in this file (e.g., VirtualFileUtil.isAncestor(...)) but there's no corresponding import, so the test won't compile. Add the appropriate consulo.virtualFileSystem.util.VirtualFileUtil import (or qualify the reference).

Copilot uses AI. Check for mistakes.
Comment on lines 29 to 33
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiFile;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VirtualFileUtil is used in this class (virtualToIoFile, saveText) but there is no import for it, so this file won't compile. Add an import for consulo.virtualFileSystem.util.VirtualFileUtil (or fully qualify the calls).

Copilot uses AI. Check for mistakes.
Comment on lines 61 to 65
import consulo.module.content.layer.ModifiableRootModel;
import consulo.module.content.ModuleRootManager;
import consulo.util.dataholder.Key;
import consulo.ide.impl.idea.openapi.util.io.FileUtil;
import consulo.util.lang.StringUtil;
import consulo.ide.impl.idea.openapi.vfs.VfsUtil;
import consulo.virtualFileSystem.VirtualFile;
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After removing the old FileUtil/VfsUtil imports, this class still uses FileUtil (e.g., createTempFile, toSystemIndependentName) and now uses VirtualFileUtil.saveText/loadText, but neither consulo.util.io.FileUtil nor consulo.virtualFileSystem.util.VirtualFileUtil are imported. Add the missing imports (or qualify the references) so the file compiles.

Copilot uses AI. Check for mistakes.
Comment on lines 22 to 27
import consulo.util.xml.serializer.DefaultJDOMExternalizer;
import consulo.util.xml.serializer.InvalidDataException;
import consulo.util.xml.serializer.JDOMExternalizable;
import consulo.util.xml.serializer.WriteExternalException;
import consulo.ide.impl.idea.openapi.util.io.FileUtil;
import consulo.util.lang.StringUtil;

Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileUtil.loadFile(...) is still used in loadText(), but the FileUtil import was removed, so this file won't compile. Add an import for consulo.util.io.FileUtil (or qualify the reference).

Copilot uses AI. Check for mistakes.
@VISTALL VISTALL merged commit 3db0682 into consulo:master Apr 18, 2026
1 check passed
@unv-unv unv-unv deleted the eliminating-vfs-util branch April 18, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants