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

第14回 エディタの話[その6]─インスペクション

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

はじめに

今回は,Android Studioのチップ&デール,インテンション&インスペクションの「インスペクション」について説明します。

インスペクション

いわゆるコード検査なのですが「これがあるからJavaで良いや」と思わせるほど非常に強力な機能です。インテンションと異なり検査することが目的なため,指摘に対して必ず修正候補が出るわけではありません(指摘だけ,というものも結構あります)⁠

インスペクションの設定は「Preferences / Inspections」で行います。インテンションと異なり「Project Settings」に属するため,この設定はプロジェクトごとに変更したり,共有したりすることができます。また,インテンションとは比べものにならないほど検査項目があるので,ある程度のまとまりで検査項目のセットを作っておくことをオススメします。

図1 ⁠Preferences / Inspections」設定画面

図1 「Preferences / Inspections」設定画面

当然のように「どれが検査すべき項目なの?」と行き詰まると思いますが,指摘を受ける都度「これは要る・要らない」と調整していくのが遠回りのようで一番の近道だと思います。

インスペクションの調整は,楽しいことは楽しいのですが,さすがに検査項目が多すぎるため苦痛なのも確かです。しかも,インテンションと異なりコード例もなく,説明文も全部英語なので挫ける要素も満載です。

そこをぐっと乗り越えて,手に馴染んだ検査項目セットができあがると,優秀なナビゲータとペアプロしているような錯覚におちいります(ホントウです)⁠そのあまりの優秀さに「このIDEにはお母さんが入ってる」と言ったIntelliJユーザが居たとか居ないとか。

残念ながらお母さんは居ませんが,小さいおじさんがひっそり潜んでいます。このおじさん,名前をHectorさんと言いまして,常時この人が目を光らせているため,滅多なことではエディタ右上端のインジケーターが緑にならないのです。

図2 Android Studioの右下にいる「Hectorおじさん」

図2 Android Studioの右下にいる「Hectorおじさん」

このHectorおじさんをクリックすると 図3 のようなポップアップが表示され,検査レベル(Highlighting Level)などを設定できます。

図3 検査レベルの変更ポップアップ

図3 検査レベルの変更ポップアップ

この検査レベルなのですが,レベルを下げるにつれHectorおじさんがそっぽを向くという芸の細かさを見せてくれます。

表1 検査レベル(Highlighting Level)とHectorアイコンの関係

Highlighting LevelHector意味
Noneなんのチェックもしません。普通のテキストエディタ並になります。
Syntax文法のチェックだけします。
Inspections文法チェックおよびインスペクションの両方を行います。
Power Save ModePower Save Mode」を有効にした場合。詳しくはコラムを参照してください。

コラム Power Saveモードとは

Hectorおじさんのポップアップやメニューバーの「File → Power Save Mode」という項目があります。インスペクションの性質からして,これがCPUに負担をかける機能であることは想像に難しくありません。

「Power Save Mode」とはインスペクション機能などバックグラウンド処理を抑止し,マシンパワーに負担をかけない省電力モードです。この機能はIntelliJがバージョンアップを重ねるごとにインスペクション項目が増え,その処理が重くなり,緊急回避的な機能として実装されたものです(たしか3年ほど前のIntelliJ IDEA10あたりで実装されたと記憶しています)⁠今となってはインスペクション機構も最適化が行われ,Power Save Modeにしなくても省エネになって来ています。

そうは言っても,Android Studioや元のIntelliJも決して軽いIDEではありません。それなりのマシンスペックを要求するのも確かです。個人的にはPower Save ModeはAndroid StudioやIntelliJの良さを殺す機能で,このモードに頼るようなら他のツールを選択したほうが良いと考えています。そのため,筆者の感覚では「Power Save Modeに頼るようになってきたらマシンの替え時だな」と認識しています。

著者プロフィール

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

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

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

Twitter: @masanobuimai

コメント

コメントの記入