Android Studio最速入門~効率的にコーディングするための使い方

第35回 バージョン管理 ─プロジェクト管理ファイルについて[後編]

この記事を読むのに必要な時間:およそ 9.5 分

全体のまとめ

「こんなマニアックな話題を3回を続けてしまって良いのだろうか?」と自問することもありましたが,このあたりがスッキリしないとチーム開発で悶々して効率的なコーディングは出来ないな,と開き直ることにしました。

.ideaディレクトリの管理する/しないファイルの選定は複雑で,.gitignoreのホワイトリストを使って例示しましたが,除外ファイル指定にホワイトリスト方式を使えないバージョン管理システムの場合,さらに指定が大変です。ある程度は割り切って人間系で管理することも考えておいた方が良いでしょう(いわゆる「運用で回避」ってやつです⁠⁠。

なお,中編・後編で紹介した.ideaディレクトリの設定ファイル群は,素のAndroid Studioが生成するファイルだけです(v0.3.6~v0.4.0で確認⁠⁠。今後のバージョンアップや追加したプラグインによって,この設定ファイルは多少増減すると思います。だいたいはファイル名からどの設定項目に該当する設定ファイルか類推できますし,それほど重要な設定ファイルが登場するとも考えづらいので,そう身構える必要はないでしょう。

番外編:タスク連携ってなに?

一見すると独立した機能のように思えますが,対象のプロジェクトが何かしらのバージョン管理システムと連携している状態ではないと利用できません。

タスク連携機能は,課題管理システム(BTS/ITS)のチケット(タスク)とチェンジリストを紐付ける機能です。EclipseのMylynに相当する機能ですが,Mylynほど高機能ではありません。基本的にチケットは参照専用です。

タスクはチェンジリストに紐付くだけではなく,タスクごとに専用の状態(コンテキスト)を持ちます。コンテキストとはIDEの状態―――どのファイルを開いていた,どのツールウィンドウを使っていたなど,イメージとしてはタスクごとに .idea/workspace.xml を切り替えられるようになると思って下さい。

タスクの連携先となるBTS/ITSの設定は「Preferences / Tasks」で行います。主要なBTS/ITSは大抵サポートしており,Git編(第27回)Mercurial編(第31回)でかるく紹介したGitHub Issues,Bitbucketの課題トラッカーもサポートしています。

タスク連携の注意点

使い方については,IntelliJ Advent Calendar 2013にすばらしいエントリがあるので,まずはそちらを参考にしてください。

ここでは,タスク連携機能に関する注意点をいくつか紹介します。早めに断っておきますが,Android Studioのタスク連携はBTS/ITSのフロントエンドになりきるほどの機能はありません。Webブラウザの代わりに,ちょっとだけ素早くチケットを参照できる程度の機能だと思っておいて下さい。

タスク(チケット)の検索
"Open Task..."で連携先のBTS/ITSからチケットを検索しますが,大抵の連携先は「日本語のチケット名」で検索することができません。その代わり,チケットIDで検索することができます。この事を知っていると目的のチケットを探しやすいです。

図16 "Open Task..."によるタスク(チケット)の検索 - Githubの場合(クリックすると動きがわかります)

(チケット)の検索 - Githubの場合` &title=`図16 "Open Task..."によるタスク(チケット)の検索 - Githubの場合` &width=`400` />

BTS/ITSのステータス連携
このタスク連携機能はチケットとAndroid Studioの作業(チェンジリストやコンテキスト)を紐付けるだけで,BTS/ITS側のステータスを操作するものではありません。
新しいチケットの作成/担当者の割り当て/チケットのステータス変更などの操作は,Android Studioから行うことはできません。"Open Task..."で検索できるチケットも「Preferences / Tasks / Servers」で設定したBTS/ITSのアカウントに紐付いたものだけです。
Bitbucketの課題トラッカーとの連携
連携には別途Bitbucketプラグインが必要になります。プラグインのインストール方法は第31回を参照してください。
Bitbucket連携の場合,"Open Task..."実行直後に(そのアカウントで参照可能な)すべてのチケットが一覧表示されます。このように連携先のBTS/ITSによって,コマンドの結果が若干変わります。

図17 "Open Task..."によるタスク(チケット)の検索 - Bitbucketの場合(クリックすると動きがわかります)

(チケット)の検索 - Bitbucketの場合` &title=`図17 "Open Task..."によるタスク(チケット)の検索 - Bitbucketの場合` &width=`400` />

もうひとつのタスク連携

タスク連携機能が実装される前からあった,もうひとつのタスク連携について説明します。どのような機能かと言うと,コミットメッセージの特定のキーワードをBTS/ITSのチケットに紐付ける機能です。

この設定を行うことで,特定のキーワード(通常はチケットIDです)にリンクが付き,そこからBTS/ITSのチケット画面をWebブラウザに表示することができるようになります。

図18 Issue Navigationが設定済みの「Changesツールウィンドウ / Logタブ」

図18 Issue Navigationが設定済みの「Changesツールウィンドウ / Logタブ」

※チケットIDがリンクになっていて,クリックするとBTS/ITSのチケット画面が開く

このチケットの紐つけは「Preferences / Version Control / Issue Navigation」で行います。表2表3はそれぞれGitHubとBitbucketの設定値です。

図19 ⁠Preferences / Version Control / Issue Navigation」設定画面

図19 「Preferences / Version Control / Issue Navigation」設定画面

表2 GitHub issueの設定例

項目
Issue ID\w+\-(\d+)
Issue linkhttps://github.com/<yourname>/<projectname>/issues/$1
Issue linkの例https://github.com/masanobuimai/MyFirstAppProject/issues/$1

表3 Bitbucket課題トラッカーの設定例

項目
Issue ID#(\d+)
Issue linkhttps://bitbucket.org/<yourname>/<projectname>/issue/$1
Issue linkの例https://bitbucket.org/masanobuimai/myfirstappproject/issue/$1

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai