From e9a60bebf9151f66bf12ef974be877fefb0b201e Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 25 Feb 2022 12:30:16 +0700 Subject: [PATCH] [lang-api] Disable code insight actions for compiled files Fixes IDEA-289020 Action "Insert live template" should not be available inside read-only files GitOrigin-RevId: fda198a7766c5b9a99ec411f522e225ac96f0cdf --- .../com/intellij/codeInsight/actions/CodeInsightAction.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/lang-api/src/com/intellij/codeInsight/actions/CodeInsightAction.java b/platform/lang-api/src/com/intellij/codeInsight/actions/CodeInsightAction.java index b26050cfe934..58a7de21346f 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/actions/CodeInsightAction.java +++ b/platform/lang-api/src/com/intellij/codeInsight/actions/CodeInsightAction.java @@ -12,6 +12,7 @@ import com.intellij.openapi.editor.EditorModificationUtil; import com.intellij.openapi.editor.actionSystem.DocCommandGroupId; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.NlsContexts; +import com.intellij.psi.PsiCompiledElement; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiUtilBase; @@ -51,6 +52,9 @@ public abstract class CodeInsightAction extends AnAction implements UpdateInBack FileModificationService.getInstance().preparePsiElementsForWrite(elementToMakeWritable))) { return; } + if (elementToMakeWritable instanceof PsiCompiledElement) { + return; + } CommandProcessor.getInstance().executeCommand(project, () -> { final Runnable action = () -> {