Пользовался всегда сравнением файлов локальных и удаленных (remote) в шторме.
(если вести проект через гит эта фишка и не нужна будет, но есть разные проекты))
как я это использовал.
Нужный мне вариант
Мапиш репозиторий через remote. Открываешь нужный файл локально, затем через ПКМ - deployment - edit remote filte, открываешь рядом файл с сервера. И через view - compare with указываешь локальный файл.
есть такой вариант
Можно конечно сравнивать через ПКМ - deployment - compare with deploed version.
Но первый вариант
дает возможность вносить изменения в обе стороны, а второй только в одну. А мне надо в обе.
В общем вносил таким образом изменения и тп, очень удобно. А сегодня обнаружил что не работает, вот такая ошибка -
Failed to map VirtualFile, не понимаю пока как пофиксить.
В гугле нашел пока только что была похожая проблема с брекпоинтами, но в моем случае я не вижу в логах ошибки с брекпоинтами.
Мб кто сталкивался с такой проблемой и знает как решить?
мой лог
2025-01-09 11:49:01,779 [ 70782] WARN - #c.i.d.i.CacheDiffRequestProcessor - Failed to map VirtualFile: <cfce1df3-1b86-433f-8a67-be08d054667a>/home/prinzip/prinzip.su/www/includes/roso/Mortgage.php (filesystem com.jetbrains.plugins.webDeployment.remoteEdit.fs.RemoteDeploymentFileSystem@32d2786d) into nio Path
java.lang.UnsupportedOperationException: Failed to map VirtualFile: <cfce1df3-1b86-433f-8a67-be08d054667a>/home/prinzip/prinzip.su/www/includes/roso/Mortgage.php (filesystem com.jetbrains.plugins.webDeployment.remoteEdit.fs.RemoteDeploymentFileSystem@32d2786d) into nio Path
at com.intellij.openapi.vfs.VirtualFile.toNioPath(VirtualFile.java:164)
at com.intellij.diff.actions.impl.MutableDiffRequestChainKt.getDisplayPath(MutableDiffRequestChain.kt:244)
at com.intellij.diff.actions.impl.MutableDiffRequestChainKt.access$getDisplayPath(MutableDiffRequestChain.kt:1)
at com.intellij.diff.actions.impl.MutableDiffRequestChain$MyDiffRequestProducer.getTitleCustomizer(MutableDiffRequestChain.kt:110)
at com.intellij.diff.actions.impl.MutableDiffRequestChain$MyDiffRequestProducer.process(MutableDiffRequestChain.kt:99)
at com.intellij.diff.impl.CacheDiffRequestProcessor$Simple.loadRequest(CacheDiffRequestProcessor.java:246)
at com.intellij.diff.impl.CacheDiffRequestProcessor$Simple.loadRequest(CacheDiffRequestProcessor.java:223)
at com.intellij.diff.impl.CacheDiffRequestProcessor.doLoadRequest(CacheDiffRequestProcessor.java:176)
at com.intellij.diff.impl.CacheDiffRequestProcessor.lambda$updateRequest$1(CacheDiffRequestProcessor.java:129)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.lambda$computeInBackgroundAndTryWait$6(BackgroundTaskUtil.java:164)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:223)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:45)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:222)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:674)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:749)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:705)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:673)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:203)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.lambda$computeInBackgroundAndTryWait$7(BackgroundTaskUtil.java:163)
at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport$executeOnPooledThread$1.run(AnyThreadWriteThreadingSupport.kt:167)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at com.intellij.util.concurrency.ContextCallable.lambda$call$1(ContextCallable.java:74)
at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:83)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:101)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:107)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:101)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)
at java.base/java.lang.Thread.run(Thread.java:1583)
картинка
сравниваю 1 и 2 файл, 3 - ошибка.
(файлы вроде мапятся, как я понимаю. Раз через ПКМ открывается файл с сервера, а сравнивать не дает)
пока нашел альтернативу сравнивать через clipboard, тоже в шторме. Но как то не привычно или ... не то в общем.
Буду рад любым вариантам решения вопроса.