Конфигурационные файлы в IntelliJ IDEA

Речь пойдет о таком замечательном инструменте как IntelliJ IDEA. Конкретней о том, какие файлы создает студия для хранения конфигурации проекта, модулей, окружения, а также о том, какие файлы можно добавлять в svn, а какие нет.

Согласно официальной документации IntelliJ IDEA хранит настройки проекта и его компонентов в xml файлах. Начиная с версии 8.1 доступно два способа хранения конфигурацинных файлов: directory-based и file-based.

Directory-based

Используя этот формат, в корне проекта создается директория .idea, в которой хранится набор xml конфигурационных файлов. Каждый такой файл содержит только порцию данных относящихся к определенной функциональной области, которая отражена в именах файлов, например, compiler.xml, encodings.xml, modules.xml. Почти все файлы содержат основную информацию о самом проекте, такие как имена и места ее компонентов, модулей, параметры компилятора и т.д. Таким образом, эти файлы могут и должны быть в svn. Исключением является workspace.xml. В нем хранятся персональные настройки, такие как размещение и положение окна, история настройки и другие данные, относящиеся к среде разработки. Таким образом, маловероятно, что вы хотите поделиться этим файлом с вашими коллегами.

File-based

При использовании этого формата, мы получаем два конфигурационных файла в каталоге проекта: {name}.ipr и {name}.iws. Файл {name}.ipr хранит основную информацию о проекте, {name}.iws — личные настройки рабочего пространства. Соответственно {name}.ipr можно добавлять в svn, в то время как {name}.iws — нельзя. Также существуют файлы с расширением {name}.iml. В них хранится информация о модулях. Их также можно и нужно добавлять в svn.