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の設定で何か問題が起こった場合に復元したり,初期設定が簡単になった。
効率的に開発を進めていきたい。