Как в инструментах JetBrains поделиться настройками IDE и проекта между несколькими разработчиками?

Мне нравятся инструменты JetBrains. Но я не могу найти способ эффективно обмениваться настройками на уровне IDE и уровне проекта с членами команды. На данный момент я следовал инструкциям, приведенным в статье на сайте JetBrains под названием «Как управлять проектами в системах контроля версий». Но многие комментарии к статье предостерегают от реализации ее в качестве метода обмена настройками проекта. И я столкнулся с несколькими проблемами с этим методом, а именно, не все, чем я хотел бы поделиться, на самом деле передается членам команды.

Я также пробовал использовать функцию из раздела Файл-> Репозиторий настроек инструментов JetBrains. Он разделяет некоторые настройки между пользователями, и мне нравится, что он автоматически создает фиксации в репозитории Git, но не разделяет все настройки. Общие настройки работают отлично! Но похоже, что функция «Репозиторий настроек» находится в стадии разработки.

Я прочитал много обсуждений по этой теме, но нет окончательного ответа о том, как поделиться настройками уровня IDE и, в то же время, конкретными настройками проекта при использовании инструментов JetBrains. Не говоря уже о том, что я использую несколько инструментов JetBrains (PhpStorm, PyCharm, WebStorm и IntelliJ). Я бы хотел, чтобы было решение, которое также разделяло бы настройки между всеми инструментами, потому что некоторые настройки являются глобальными для всех инструментов JetBrains, некоторые специфичны для конкретного инструмента, а некоторые специфичны для проекта.

Совместное использование настроек между инструментами JetBrains - это скорее «неплохо». Что мне действительно нужно знать, так это то, как я могу легко поделиться глобальными настройками IDE и настройками уровня проекта между членами команды. Но я дам безумное уважение любому, кто может понять и то, и другое. :-)


person MikeyE    schedule 13.01.2017    source источник


Ответы (1)


Наконец-то я нашел несколько минут, чтобы написать ответ на этот вопрос. Я хочу написать более полный ответ, но в последнее время я был невероятно занят, так что это нужно сделать на данный момент.

Это решение описывает то, что я использовал для совместного использования кода и настроек проектов PyCharm. У этого решения есть одна оговорка, которую я попытаюсь описать и подробно описать.

Следуя инструкциям в базе знаний JetBrain, мы добавим всю папку проекта в репозиторий Git. Но перед этим обязательно исключите как минимум файл workspace.xml, создав файл .gitignore в каталоге проекта и добавив как минимум следующую строку:

.idea/workspace.xml
# JetBrains also recommends  adding tasks.xml, but I found it useful to
# share tasks with team members.
# Uncomment the following line to avoid sharing tasks with team members
# .idea/tasks.xml

Вы определенно захотите добавить workspace.xml в .gitignore, потому что он хранит все ваши локальные размеры окон, макеты панели отладки и тому подобное. Моя команда сочла полезным синхронизировать наши задачи, чтобы мы могли координировать работу. Но каждая команда работает по-своему, поэтому используйте ее по своему усмотрению.

Есть три основных местоположения проекта и сохраняются личные предпочтения:

  1. <project_directory>/.idea содержит настройки для конкретного проекта.
  2. $HOME/.PyCharmYYYY.M/config содержит параметры для всех проектов, управляемых PyCharm (или замените «PyCharm» на любой другой инструмент JetBrains).
  3. Если вы используете общие настройки, находящиеся в Файл-> Репозиторий настроек, $HOME/.PyCharmYYY.M/config будет содержать все настройки, доступные через встроенную функцию «Общие настройки» JetBrain. Мне и моей команде это было безразлично, потому что казалось, что он автоматически разделяет некоторые вещи, которые мы не хотели (например, цветовая тема и сопоставления клавиш). И мы не смогли выбрать подмножество опций, чтобы поделиться ими в рамках всей команды. Короче говоря, это не дало нам необходимой гибкости и контроля.

Мы пробовали использовать варианты 1 и 3 одновременно, но это было слишком громоздко. Например, один человек изменит шрифт, и он изменит его для всей команды, когда мы в следующий раз запустим JetBrains. Это был беспорядок. Если вы все же решите попробовать варианты 1 и 3, я рекомендую действовать с особой осторожностью.

Сейчас мы используем только вариант 1, и он неплохо работает.

Вот несколько других примечательных папок, которые вы, возможно, захотите добавить или удалить из файла .gitignore:

  • <project_folder>/.idea/runConfigurations/ содержит все ваши конфигурации отладки и запуска, используемые для запуска носовых тестов и отладки вашего кода.
  • <project_folder>/.idea/scopes/ содержит все области, используемые для фильтрации вашего представления файлов проекта, в другие группы управления.
  • $HOME/.PyCharmYYYY.M/options содержит все глобальные параметры для используемой вами версии PyCharm. Например, цветовая схема, сопоставление клавиш и любые другие параметры, не относящиеся к проекту. Полный список других глобальных настроек см. В этой статье JetBrains или в следующем отрывке:

введите описание изображения здесь

person MikeyE    schedule 10.09.2017