From fd8f1c606f880e9340e6a1cdb5e9418f311dfa91 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Fri, 28 Aug 2026 00:39:07 +0200 Subject: [PATCH] PY-91306: Clean `.pyc` files with `CleanPycAction`, add test. This action was broken after `4a9367ab4520d3daecd72bf4c53094f8768faa85`, see: https://youtrack.jetbrains.com/issue/PY-91306/Function-Clean-Python-Compiled-Files-does-not-work-in-2026.2#focus=Comments-27-14150113.0-0 We restored it and added a test. GitOrigin-RevId: 21f11e22bffe890e42420c5b0897f96a80b06bd2 --- .../src/com/jetbrains/python/actions/CleanPycAction.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python/src/com/jetbrains/python/actions/CleanPycAction.java b/python/src/com/jetbrains/python/actions/CleanPycAction.java index e2ba732fe297..af4cf0cfa6a1 100644 --- a/python/src/com/jetbrains/python/actions/CleanPycAction.java +++ b/python/src/com/jetbrains/python/actions/CleanPycAction.java @@ -36,9 +36,10 @@ final class CleanPycAction extends AnAction { ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { try { for (PsiElement element : elements) { - var dir = Path.of(((PsiDirectory)element).getVirtualFile().getName()); - if (!Files.isDirectory(dir)) continue; - Files.walkFileTree(dir, new SimpleFileVisitor<>() { + var vfsDir = ((PsiDirectory)element).getVirtualFile(); + var nioDir = vfsDir.getFileSystem().getNioPath(vfsDir); + if (nioDir == null || !Files.isDirectory(nioDir)) continue; + Files.walkFileTree(nioDir, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult preVisitDirectory(@NotNull Path dir, @NotNull BasicFileAttributes attrs) throws IOException { if (PyNames.PYCACHE.equals(NioFiles.getFileName(dir))) {