Знаете ли вы, что IDEA предлагает два способа синхронизации ваших настроек между несколькими экземплярами вашей IDE? Вы можете использовать его при работе на нескольких компьютерах или для совместного использования унифицированных настроек в вашей команде.
Этот перевод продолжает серию об IntelliJ IDEA:
- Лучшие плагины IntelliJ IDEA
- Сравнение файлов и папок
- Анализ зависимостей
- Настройка стиля кода для каждой папки
- Синхронизация и обмен настройками
Важность синхронизации
Как разработчик, вы обычно используете несколько компьютеров, каждый из которых имеет свой собственный экземпляр вашей любимой IDE. Сохранять настройки одинаковыми на всех них может быть довольно сложно. Вместо того, чтобы делать это вручную, гораздо лучше использовать автоматическую синхронизацию. Настроить новую IDE намного проще, и в процессе также создается резервная копия онлайн.
И, конечно, вы обычно работаете не в одиночку, а в команде. Важно придерживаться некоторых руководящих принципов и стандартов для вашего проекта. А наличие одинаковых ключевых настроек вашей IDE очень поможет. Не говоря уже о том, что это облегчает адаптацию нового разработчика и позволяет им придерживаться соглашений.
Настройки репозиториев
Первый способ синхронизации настроек — использование репозиториев настроек (Settings Repositories). Он работает так, что использует общий репозиторий Git для обмена настройками. Затем каждый экземпляр IDEA подключается к этому репозиторию для получения настроек. В случае, если один экземпляр вносит изменения в настройки, их можно скопировать обратно в репозиторий. Что приятно, так это то, что это простой старый репозиторий Git. Это означает, что ваши настройки сохранены и находятся под контролем версий. Таким образом, вы можете отслеживать и откатывать изменения, если это необходимо, или даже разрешать другим людям создавать Pull Requests (запросы на извлечение) с некоторыми изменениями ваших настроек.
Чтобы включить эту функцию, просто выберите в меню:
File > Settings Repository
И введите URL вашего git репозитория. Если вы только начинаете репозиторий будет пустой. Когда вы настраиваете репозиторий настроек таким способом, вы всегда можете проверить, должны ли ваши локальные настройки перезаписывать их на сервере, и наоборот, или они должны быть объединены.
И все, готово. В большинстве случаев. Тем не менее, IDEA предлагает удобную функцию — вы можете определить несколько репозиториев настроек. Для чего это? Ну, может быть, есть некоторые настройки, которыми вы хотите поделиться со своими товарищами по команде, чтобы обеспечить согласованность вашего проекта. Но тогда, конечно, вы хотите, чтобы некоторые из ваших настроек были личными и предназначены только для вас. Ведь у каждого пользователя свои предпочтения.
В этом случае IDEA будет считать один из репозиториев основным. Это для ваших собственных настроек. Синхронизация работает в обоих направлениях — от сервера к клиенту и наоборот. Остальные репозитории являются вторичными и доступны только для чтения. Вы можете только получить настройки из них, но они не зависят от изменений локальных настроек.
Для настройки нескольких репозиториев перейдите в меню:
Settings > Tools > Settings Repository
Здесь вы можете увидеть ваш основной репозиторий, который вы создали ранее. Ниже вы можете настроить дополнительные вторичные репозитории:
Обратите внимание, что вы также можете отключить автоматическую синхронизацию и использовать только синхронизацию по требованию с помощью меню VCS > Sync Settings.
Синхронизировать настройки с помощью учетной записи JetBrains
Второй способ синхронизации настроек был доступен некоторое время в виде отдельного дополнительного плагина IDE (для которого требовалось приглашение), но теперь он интегрирован и включен по умолчанию в IDEA начиная с версии 2017.3. Он использует вашу учетную запись JetBrains для синхронизации данных.
Под капотом на самом деле используется механизм репозиториев настроек, но это скрыто от вас. Это гораздо удобнее, потому что вам не нужно создавать Git репозиторий для хранения настроек и предоставления его адреса в IDE. Кроме того, в отличие от репозиториев настроек, он также позволяет синхронизировать установленные плагины. Довольно круто, правда?
Первое, что вам нужно сделать, это убедиться, что у вас есть учетная запись JetBrains. Если у вас его нет, вы можете создать его здесь. Получив учетную запись JetBrains, вам нужно будет войти в IDEA, используя ее. Просто зайдите в меню Help > Register. Затем вам просто нужно выбрать Activate new License with JetBrains Account и ввести свои учетные данные. Затем нажмите кнопку Activate.
До того как вы связали свою IDE с учетной записью JetBrains, ваша строка состояния в правой нижней части окна будет выглядеть примерно так:
После того, как ваша учетная запись JetBrains будет связана, вы должны увидеть новый значок Gears, который используется для управления синхронизацией настроек:
Если вы нажмете на него, вы сможете включить синхронизацию настроек:
Когда вы включите ее на другом компьютере, вам будет предложено выбрать как управлять конфликтами настроек. Вы можете либо перезаписать свои локальные настройки настройками из учетной записи JetBrains, либо наоборот.
Установленный плагин синхронизации обрабатывается отдельно от остальных настроек. Вы можете вручную запустить синхронизацию плагинов или включить автоматическую синхронизацию плагинов в фоновом режиме.
Если вы предпочтете синхронизацию вручную, вы сможете точно контролировать, какие плагины синхронизируются и как. Это означает, что вы можете выбрать отдельные плагины и даже принудительно установить или удалить плагины, или другие экземпляры IDEA.
И, конечно, если вы больше не хотите синхронизировать определенный экземпляр IDE, вы можете отключить синхронизацию, используя значок шестеренок в строке состояния.
EditorConfig
Начиная с версии 2019.2, IDEA предлагает мощную альтернативу для обмена настройками редактора с помощью EditorConfig. Хотя базовый набор свойств конфигурации довольно ограничен в EditorConfig, IDEA поддерживает сотни своих собственных свойств конфигурации.
В отличие от обычных настроек IDE, они могут быть установлены для каждой папки, зафиксированы для контроля версий и автоматически выбираются IDEA сразу после клонирования вашего проекта. Для получения дополнительной информации, прочитайте следующую статью.
Заключение
Возможность синхронизировать настройки между несколькими экземплярами IDE — очень важная и удобная функция. IntelliJ IDEA теперь поддерживает два разных способа синхронизации из коробки.
Первый использует репозиторий настроек. Это позволяет вам определить несколько репозиториев контроля версий, которые будут действовать как репозиторий для ваших настроек. Это полезно, когда вы хотите поделиться настройками в вашей команде. Поскольку вы можете указать несколько репозиториев, некоторыми общими настройками можно поделиться с членами вашей команды, в то же время ваши личные настройки могут быть синхронизированы между всеми вашими компьютерами.
Второй использует вашу учетную запись JetBrains для хранения ваших настроек. Из-за этого он больше подходит только для ваших личных настроек, поскольку вы не можете поделиться своей учетной записью JetBrains со своими коллегами. С другой стороны, он может управлять синхронизацией плагинов.
В любом случае полезно иметь согласованные настройки и создавать резервные копии в удаленном репозитории.
fog
Похоже что клавиатурные настройки не синхронизируются между разными OS. В случае PC <> MacOS это оправдано (и то можно было бы синхронизировать в виде копии на которую можно переключиться) но почему бы не синхронизировать Windows <> Linux?
jreznot
В Windows <> Linux разные раскладки клавиатуры, в том числе из-за Ctrl-Alt-F(1-12), зарезервированных системой, плюс куча Windows шорткатов накладывается с KDE/Gnome.
fog
Не знаю, я два года уже работаю на Ubuntu и синхронизирую с домашним компьютером на Windows настройки 1:1, ни с какими конфликтами не сталкивался. Не говорю что их нет, говорю что ИМХО большую часть людей такая синхронизация вполне бы устроила и я бы первый радовался.