diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java index 0498a5dd3542..6f296f0693c9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java @@ -708,12 +708,10 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements Persistent @NotNull public FileType getFileTypeByFile(@NotNull VirtualFile file, @Nullable byte[] content) { FileType fileType = getByFile(file); - - if (fileType == null) { - fileType = file instanceof StubVirtualFile ? UnknownFileType.INSTANCE : getOrDetectFromContent(file, content); + if ((fileType == null || fileType instanceof PlainTextLikeFileType) && file instanceof StubVirtualFile) { + return getOrDetectFromContent(file, content); } - - return fileType; + return ObjectUtils.notNull(fileType, UnknownFileType.INSTANCE); } @Nullable // null means all conventional detect methods returned UnknownFileType.INSTANCE, have to detect from content