Module (@NotNull final String filePath, final String moduleTypeId) { Module module = getModifiableModuleModel().newModule(filePath, moduleTypeId); final String moduleName = FileUtilRt.getNameWithoutExtension(new File(filePath).getName()); if (!module.getName().equals(moduleName)) { try { getModifiableModuleModel().renameModule(module, moduleName); } catch (ModuleWithNameAlreadyExists exists) { LOG.warn(exists); } } // set module type id explicitly otherwise it can not be set if there is an existing module (with the same filePath) and w/o 'type' attribute module.setModuleType(moduleTypeId); return module; }