Что такое папка .idea?
Когда я создаю проект в JetBrains WebStorm, создается папка с именем .idea . Ничего страшного, если я его удалю? Повлияет ли это на мой проект?
4 ответа
Когда вы используете IntelliJ IDE, все настройки проекта сохраняются в папке .idea папку.
Настройки проекта хранятся для каждого конкретного проекта в виде набора XML-файлов в папке .idea. Если вы укажете настройки проекта по умолчанию, эти настройки будут автоматически использоваться для каждого вновь созданного проекта.
Проверьте эту документацию для настроек IDE и вот их рекомендации по системе контроля версий и пример файла .gitignore.
Примечание. Если вы используете git или какую-либо систему контроля версий, вы можете установить для этой папки значение «игнорировать». Пример — для git добавьте этот каталог в .gitignore . Таким образом, приложение не зависит от IDE.
Удалить это не проблема. Этот файл создается не только IDE WebStorm, но также и PhpStorm, и всеми другими IDE JetBrains.
Удалить его безопасно, но если ваш проект из GitLab или GitHub, вы увидите предупреждение.
Он содержит ваши локальные конфигурации IntelliJ IDE . Я рекомендую добавить эту папку в ваш файл .gitignore :
Начиная с 2020 года JetBrains предлагает зафиксировать папку .idea .
IDE JetBrains (webstorm, intellij, android studio, pycharm, clion и т. Д.) Автоматически добавляют эту папку в ваш репозиторий git (если он есть).
Внутри папки .idea уже был создан .gitignore , обновленный самой IDE, чтобы избежать фиксации пользовательских настроек, которые могут содержать данные о конфиденциальности / пароле.
Глубокое погружение в папку .idea в Android Studio

Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность обрабатывать иногда возникающие git-конфликты, и для того, чтобы точно знать, какой файл можно безопасно добавить в .gitignore, а какой нет.
Разобрал я это на примере проекта, над которым работаю. И решил поделиться результатом того, что выяснил, т.к. не нашел никакой документации по этому вопросу.
указывает путь, который следует добавить в .gitignore
указывает путь, который Android Studio уже добавила в .gitignore , и вам не следует его версионировать.
указывает путь, который вы должны хранить в git.
assetWizardSettings.xml
Этот файл хранит последнюю иконку, добавленную с помощью интерфейса Android Studio. Его можно безопасно удалить из VCS.
caches
Кэши, как следует из названия, могут быть безопасно добавлены в .gitignore .
Не вижу никаких оснований держать его в VCS, но по умолчанию эта папка в .gitignore не добавлена.
caches/build_file_checksums.ser
По факту, этот файл представляет собой сериализированный экземпляр ProjectBuildFilesChecksums.
Файл необходим, чтобы проверить, изменились ли build.gradle , settings.gradle , local.properties ,
/.gradle/gradle.properties , gradle.properties или файлы build.gradle ваших модулей.
Android Studio использует этот файл для того, чтобы сообщить вам о том, что нужно синхронизировать gradle-файлы.
codeStyles
В этой папке содержатся настройки стилей кода проекта. Его полезно версионировать, если вы меняли стили кода по умолчанию.
dictionaries
Папка содержит запись, которую вы добавили в словарь для проверки кода. Этот словарь важен, если у вас есть строгие правила в вашей CI-системе.
gradle.xml
Рекомендую удалить этот файл из git. Он может содержать локальный путь к вашей версии gradle, а также путь к вашему модулю. Например, вы можете разработать модуль в отдельном репозитории, поэтому путь к модулю может быть специфичным для каждого пользователя.
По всем этим причинам я окончательно удаляю файл gradle.xml из VCS.
inspectionProfiles
Эта папка содержит конкретные Lint-правила для вашего проекта. Поэтому так же, как и папка dictionaries , она должна храниться в git.
libraries
Здесь содержится файл, который указывает, где хранятся jar-файлы ваших библиотек. Поскольку путь загрузки может быть специфичным для каждого пользователя, вы не должны хранить эту папку в VCS.
misc.xml
Файл содержит информацию о проекте: версия Java, тип проекта и др.
Эти сведения касаются проекта и не зависят от пользователя. Поэтому его следует хранить в git.
modules.xml
Этот файл содержит пути к .iml -файлам ваших модулей. Поэтому по аналогии с gradle.xml его нельзя хранить в git.
navEditor.xml
Здесь хранится расположение ваших элементов в редакторе навигации. Если эта информация имеет отношение к вашему проекту, то стоит сохранить этот файл в git. В противном случае смело добавляйте его в .gitignore , чтобы избежать конфликтов в будущем.
runConfigurations.xml
Имя файла может вам намекнуть, что в нём хранятся конфигурации, которые вы можете добавить, нажав «Изменить конфигурации». Этот файл обязательно нужно хранить в VCS.

vcs.xml
Этот файл содержит информацию о VCS, которую вы используете в своём проекте. Он используется для того, чтобы вы могли использовать графический интерфейс для выполнения операций, связанных с управлением версиями. Его тоже стоит добавить в git.
workspace.xml
Здесь содержится информация о вашем рабочем пространстве в Android Studio. Например, последняя позиция курсора на открытом вами файле. Так что это определенно пользовательская информация, которую нет необходимости хранить в git.
Итоги
Я бы предложил вам добавить всего три строки к файлу .gitignore по умолчанию:
Как я уже сказал в начале этой статьи, я не нашёл никакой документации о содержимом папки .idea , поэтому статья может быть неполной и/или не точна на 100%. Если вы знаете ещё что-то, чего нет в этой статье, то пишите об этом в комменнтарии.
Что такое папка .idea?
Когда я создаю проект в JetBrains WebStorm, создается папка с именем .idea . Это нормально, если я удалю это? Повлияет ли это на мой проект?
При использовании IntelliJ IDE все специфичные для проекта настройки для проекта сохраняются в .idea папке.
Настройки проекта хранятся с каждым конкретным проектом в виде набора XML-файлов в папке .idea. Если вы укажете параметры проекта по умолчанию, эти параметры будут автоматически использоваться для каждого вновь создаваемого проекта.
Проверьте эту документацию на параметры IDE, и вот их рекомендация по контролю исходного кода и пример файла .gitignore.
Примечание: если вы используете git или какую-либо систему управления версиями, вы можете установить эту папку «игнорировать». Пример — для git добавьте этот каталог в .gitignore . Таким образом, приложение не зависит от IDE.