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

第42回 コードスタイルの設定

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

はじめに

前回の続きでコードフォーマットの話です。今回はコードフォーマットの設定について紹介します。Android Studioのコードフォーマット設定は非常に多く,正直うんざりする作業です。それと,当然のようにEclipseと設定項目が似ているようで違います。

幸いなことに,最近のAndroid StudioはEclipseのEclipseのコードフォーマット設定をインポートできるようになりました。

そうは言っても世の中は広く,少数ではありますがカスタマイズ熱中症に罹患した方々がいます。これに罹るとデフォルト設定ではガマンできず,設定できるものは変更しないと気が済みません。今回はJavaスタイルを中心に,Android Studioのコードスタイル設定について紹介します。

共通のコードスタイル

Java固有の話に入る前に共通のコードスタイルについて触れておきます。⁠Preferences / Code Style / General」に言語別ではない共通の設定を行います。Android Studioの設定項目はEclipse並かそれ以上に多く複雑です。⁠思いもよらない設定が,思いもしないところにある」なんてのはザラですので,まずは基本から……。

図1 ⁠Preferences / Code Style / General」設定画面

図1 「Preferences / Code Style / General」設定画面

Line separator(for new files)
意外なことに改行コードの指定がこんなところにあります。ただし,新規作成するファイルに限ります。すでに作成済みのファイルは,そのファイルの改行コードを優先します。
Right margin(columns)
右マージンを指定します。このマージンの値が,以降のスタイル設定にある程度の影響を及ぼします。
一般的には「80~140」程度だと思いますが,筆者は右マージン値による折り返しを好まないため,無駄に大きな値(999など)を設定しています。右マージン指定を無効にできないため,このような方法をとるしかありません。

「Default Indent Options」ではタブやインデントの設定を行います。タブやインデントは言語ごとに指定することもできるので,ここの設定値は主にテキストファイルの設定値と思ってください。見ての通り,Eclipseの該当項目より設定できることは多くありません。

Use tab character
インデントにハードタブを使うかどうかを指定します。ONにするとハードタブ\tを用い,OFFにするとソフトタブ(スペース)を用います。インデントのタブ論争も根の深い問題なので,そこには触れません。ただ「筆者はソフトタブ(スペース)を好む」とだけ記しましょう。
「Smart tabs」を指定すると,インデントのみハードタブを使い,それ以外はスペースを用いるいわゆるSmart Tabsモードになるはずなのですが,実際はそうならずハードタブで補填されます。おそらくバグなのだと思います。IntelliJ IDEAのBTS(YouTrack)を覗いたところ,そのものズバリなチケットがあがっていました。
OC-6187 Formatter: 'Smart tab' option doesn't convert spaces to tabs correctly
チケットそのものはAppCodeで報告されていますが,AppCodeもAndroid Studioも根っこはIntelliJで共通なので同じ問題を抱えています。
Tab size
ハードタブの文字数を指定します。環境によってハードタブの文字数が異なることを嫌うのであれば,通常は「8」を指定しておきましょう。
Indent
インデントの文字数を指定します。Javaの場合は「4」ですが,General(共通)の場合は「2」に設定しています(個人的な好みです)⁠
Continuation indent
「継続行」のインデントの文字数を指定します。こちらもJavaの場合は「8」ですが,Generalでは「4」にしています(これも好みです)⁠

コードフォーマッタを抑止する「Formatter Control」前回説明したとおりです。

著者プロフィール

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

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

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

Twitter: @masanobuimai

コメント

コメントの記入