diff --git a/platform/non-modal-welcome-screen/resources/intellij.platform.ide.nonModalWelcomeScreen.xml b/platform/non-modal-welcome-screen/resources/intellij.platform.ide.nonModalWelcomeScreen.xml
index e27acbe602f5..f5d1ef2963da 100644
--- a/platform/non-modal-welcome-screen/resources/intellij.platform.ide.nonModalWelcomeScreen.xml
+++ b/platform/non-modal-welcome-screen/resources/intellij.platform.ide.nonModalWelcomeScreen.xml
@@ -41,6 +41,7 @@
+
diff --git a/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenEditorSkeletonPolicy.kt b/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenEditorSkeletonPolicy.kt
new file mode 100644
index 000000000000..f8b4b2950787
--- /dev/null
+++ b/platform/non-modal-welcome-screen/src/com/intellij/platform/ide/nonModalWelcomeScreen/WelcomeScreenEditorSkeletonPolicy.kt
@@ -0,0 +1,12 @@
+// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.platform.ide.nonModalWelcomeScreen
+
+import com.intellij.openapi.fileEditor.FileEditorComposite
+import com.intellij.openapi.fileEditor.impl.EditorComposite
+import com.intellij.openapi.fileEditor.impl.EditorSkeletonPolicy
+import com.intellij.platform.ide.nonModalWelcomeScreen.rightTab.WelcomeScreenRightTabVirtualFile
+
+internal class WelcomeScreenEditorSkeletonPolicy : EditorSkeletonPolicy {
+ override fun shouldShowSkeleton(fileEditorComposite: FileEditorComposite): Boolean =
+ (fileEditorComposite as? EditorComposite)?.file !is WelcomeScreenRightTabVirtualFile
+}
diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorSkeletonEnabled.kt b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorSkeletonEnabled.kt
index 912edf228921..ca2e5ace01fd 100644
--- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorSkeletonEnabled.kt
+++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorSkeletonEnabled.kt
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.ApiStatus
* for a given file editor composite.
*
* If there is no policy registered for a given file editor composite, editor skeleton **will not** be shown.
- * If at least one policy returns true from [shouldShowSkeleton], editor skeleton will be shown.
+ * If all policies return true from [shouldShowSkeleton], editor skeleton will be shown.
*
* @see EditorSkeleton
*/
@@ -21,17 +21,18 @@ interface EditorSkeletonPolicy {
* Determines whether a skeleton view should be displayed for the given file editor composite.
*
* @param fileEditorComposite the file editor composite to evaluate
- * @return true if a skeleton view should be displayed for the provided file editor composite, false otherwise
+ * @return `true` if a skeleton view should be displayed for the provided file editor composite, `false` otherwise.
+ * Returning `true` does not guarantee that a skeleton view will be shown, returning `false` guarantees that a skeleton view will not be shown.
*
* @see EditorSkeleton
*/
fun shouldShowSkeleton(fileEditorComposite: FileEditorComposite): Boolean
companion object {
- private val EP_NAME: ExtensionPointName = ExtensionPointName("com.intellij.editorSkeletonPolicy")
+ private val EP_NAME: ExtensionPointName = ExtensionPointName("com.intellij.editorSkeletonPolicy")
internal fun shouldShowSkeleton(fileEditorComposite: FileEditorComposite): Boolean {
- return EP_NAME.extensionList.any { it.shouldShowSkeleton(fileEditorComposite) }
+ return EP_NAME.extensionList.isNotEmpty() && EP_NAME.extensionList.all { it.shouldShowSkeleton(fileEditorComposite) }
}
}
-}
\ No newline at end of file
+}