From f88bfc70391da852352afee09e52eb9b54d173ff Mon Sep 17 00:00:00 2001 From: Ilia Zakoulov Date: Tue, 2 Dec 2025 14:31:50 +0100 Subject: [PATCH] PY-84031: Automatically allow writing for files in welcome screen opened from command line/os file system Space-RevId: 3889dd0244b195bdf7f412abc5e506543a2cd015 GitOrigin-RevId: a0e2b58ed6c51614339fb2686d21ba87445a74bd --- .../WelcomeScreenCommandLineProjectOpenProcessor.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenCommandLineProjectOpenProcessor.kt b/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenCommandLineProjectOpenProcessor.kt index 2835f2b39d3a..1c40a6a1b89a 100644 --- a/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenCommandLineProjectOpenProcessor.kt +++ b/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenCommandLineProjectOpenProcessor.kt @@ -6,6 +6,7 @@ import com.intellij.ide.projectView.ProjectView import com.intellij.openapi.application.EDT import com.intellij.openapi.components.serviceAsync import com.intellij.openapi.fileEditor.FileEditorManager +import com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.openapi.vfs.VirtualFile @@ -54,7 +55,10 @@ private class WelcomeScreenCommandLineProjectOpenProcessor : DummyProjectOpenPro FUSProjectHotStartUpMeasurer.lightEditProjectFound() val project = executeNoProjectStateHandlerExpectingNonWelcomeScreenImplementation() project.serviceAsync().preventFocusOnWelcomeTab() - LocalFileSystem.getInstance().refreshAndFindFileByNioFile(file)?.let { focusOnFile(project, it) } + val virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByNioFile(file) ?: return project + + focusOnFile(project, virtualFile) + NonProjectFileWritingAccessProvider.allowWriting(listOf(virtualFile)) return project }