public static void setBuckFileType() { ApplicationManager.getApplication() .runWriteAction( new Runnable() { @Override public void run() { FileTypeManager fileTypeManager = FileTypeManagerImpl.getInstance(); FileType fileType = fileTypeManager.getFileTypeByFileName( BuckFileType.INSTANCE.getDefaultExtension()); // Remove all FileType associations for BUCK files that are not BuckFileType while (!(fileType instanceof BuckFileType || fileType instanceof UnknownFileType)) { List<FileNameMatcher> fileNameMatchers = fileTypeManager.getAssociations(fileType); for (FileNameMatcher fileNameMatcher : fileNameMatchers) { if (fileNameMatcher.accept(BuckFileType.INSTANCE.getDefaultExtension())) { fileTypeManager.removeAssociation(fileType, fileNameMatcher); } } fileType = fileTypeManager.getFileTypeByFileName( BuckFileType.INSTANCE.getDefaultExtension()); } // Use a simple BinaryFileStubBuilder, that doesn't offer stubbing BinaryFileStubBuilders.INSTANCE.addExplicitExtension( fileType, new BinaryFileStubBuilder() { @Override public boolean acceptsFile(VirtualFile virtualFile) { return false; } @Nullable @Override public Stub buildStubTree(FileContent fileContent) { return null; } @Override public int getStubVersion() { return 0; } }); } }); }