IntelliJ IDEAの設定リポジトリーによる設定の同期

Android StudioでAndroidアプリ開発の勉強をしている。Android Studioの設定を管理したくなったので,管理方法を記す。

導入

Android StudioはIntelliJ IDEAをベースにしているため,設定に関してはIDEAの文書を参考にする。

参考元

設定の管理には,設定リポジトリー (Settings Repository) を使う方法と,Settings Syncプラグインを使う方法がある。Setting SyncプラグインはIntelliJ IDEA Ultimateの有償版の機能なので,Settings Repositoryによる管理方法を試す。

初期状態からの変更履歴を管理したいので,IDEAの設定の初期化から行う。

設定の初期化

OSごとにホームディレクトリー直下に.<product><version/configディレクトリー (例: .AndroidStudio3.5/config) が存在する。このconfigディレクトリーがIDEAの設定を格納場所だ。

IDEAの終了後,このconfigディレクトリーをconfig.oldにリネームして,IDEAを起動する。

設定の読み込み画面が表示される。

[◎ Do not import settings]>[OK] を選択する。

これで設定が初期化される。初回の設定ウィザードが始まるので,デフォルトのまま進める。

設定リポジトリーの作成

Gitのホスティングサービス (例: GitHub) 上に設定リポジトリーを作成する。

リポジトリー名は「intellij-idea-setting」にした。手順では非公開リポジトリーにすることを推奨しているが,公開でも問題ないだろう。問題あれば後から非公開にもできる。

その後,GitHubの場合「 Creating a personal access token for the command line – GitHub Help」を参考にして,アクセストークンを取得する。こちらで取得したアクセストークンはパスワード代わりになっており,IDEAからリポジトリーへの認証に使用する。

GitHubにログイン後,[Settins]>[Developer settings]>[Personal access tokens] 画面に移動する。その後,[Generate new token] を選択する。

[Note] に [IntelliJ IDEA] を記入し,[☑ repo] にチェックをつけ,[Generate token] を選択する。

トークンが表示される。一度しか表示されないので,これを控えておく。

同期設定

Android Studioの起動後,[Configure]>[Settings Repository…] またはプロジェクトを開いている場合,[File]>[Settings Repository…]を選択する。

[Upstream URL] にリポジトリーのURL (例: https://github.com/senooken/intellij-idea-setting) を入力し,[Overwrite Remote] を選択する。

Tokenの入力画面が表示されるので,控えておいたトークンを記入する。

これで設定の同期が完了し,初回の設定がコミットされている。

設定の復元

最後にconfig.oldに退避させた元々の設定を復元する。IDEAを終了させ,config.oldの中身を全てconfigに上書きコピーする。

設定リポジトリーの情報は,config/settingsRepositoryディレクトリーに格納されているため,そのまま上書きコピーしても問題ない。

IDEAを終了させるタイミングでコミットされる。

同期方法

設定の同期は [Update Project] か [Push] アクションの完了時に自動的になされる。

自動同期を無効化する場合,[File]>[Settings]>[Tool]>[Setings Repository] の設定画面から [Auto Sync] のチェックを外す。

自動同期の無効化後に手動で同期する行う場合,メニューの [VCS]>[Sync Settings] から選ぶ。

このSettings Repositoryの設定画面からは読み込み専用リポジトリーを設定できる。こちらは,例えば一般公開されている設定を読み込んだり,ライブテンプレートやファイルテンプレートなどを読み込む場合に使うらしい。

プロジェクト全体で設定を共通化するのに役立つだろう。

結論

IntelliJ IDEAの設定リポジトリーによる設定の管理方法を記した。

アプリケーション全体の辞書設定のconfig/options/cacheDictionary.xmlが管理されていなかったり,一部こちらが想定していたのと挙動が違ったのが気になった。

たあ,この方法で複数の開発環境で環境を統一でき,変更を管理できるようになった。これにより,IDEAの設定で何か問題が起こった場合に復元したり,初期設定が簡単になった。

効率的に開発を進めていきたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です