今回は、この連載の第7回で保留にしていたエディタウィンドウについてあらためて紹介します。エディタはIDEの最大の特徴なので、数回に分けてじっくり解説していきます。今回は手始めにエディタの見た目に関する説明を行います。ような構成要素から成り立っています。「⁠エディタウィンドウ」の構成要素エディタエリア(Editor)エディタそのものです。ガーターエリア(Gutter)行番号やブレイクポイント、継承・実装などの関連マークを表示します。ドキュメントタブ(Tab)エディタのタイトル部分で、ファイル名が表示されます。マーカーバー(Markerbar)エラー箇所や検索のヒット箇所などさまざまな意味のマークを表示します。このエリアはスクロールバーも兼ねています。各要素の呼び名こそ違っていても、だいたいがEclipseと同じなので特に違和感を感じることはないのでは?と思います。それぞれの要素上で表示されるコンテキストメニューは、Eclipseのものとかなり趣が異なります。違うかは実際に見てください。「エディタウィンドウ」の基本いわゆるタブエディタです。ダブをドラッグ&ドロップすることでタブの順番を入れ換えることができます。「エディタウィンドウ」エリア外にドラッグ&ドロップすると、そのタブを別ウィンドウとして切り離すことができます。Studio本体と区別ができます。その辺りはEclipseのほうが見分けを付けやすいと思います。OSのファイラ(FinderやExplorerなど)から「エディタウィンドウ」エリアにファイルをドラッグ&ドロップすると、そのファイルを開くことができます(プロジェクト管理外のファイルでも開けます⁠)⁠。この辺りまでの操作感はEclipseとほぼ同じです。Studioのドラッグ&ドロップ操作は反応がイマイチよろしくありません。プロジェクト外のファイルを開く(クリックすると動きがわかります)ドラッグ&ドロップ操作に関するEclipseとの大きな違いが1つあります。Holizontally(水平分割)"のコマンドから行います。エディタウィンドウの分割(クリックすると動きがわかります)分割してからのタブの移動はドラッグ&ドロップでできます。エディタの切り離しや移動はドラッグ&ドロップでできるのに、分割だけできないというのも不思議なものだな、と思いますが伝統芸として受け入れておきましょう。Tabs」の「Placement」で上下左右に変更することができます。なにをするのかと言うと、タブをアルファベット順に並び替えるというモードです。Tabs」で多彩な設定ができますので、いろいろ試して好みの設定にしてみてください。筆者の好みは以下のような設定です。Studioは自動保存する」という趣旨の説明をしました。実際、ドキュメントタブにはエディタでよく見る編集マークが出ません。asterisk」をONにすると編集マークが出ます(それでも自動保存が無効になるわけではありません⁠)⁠。「エディタエリア」の見た目について見ての通り普通のフルスクリーンエディタです。操作説明については次回するので、今回は見た目の説明を行います。定番通り、編集するファイルタイプごとにシンタックスハイライトを行います。それ以外の空白、メソッドセパレータ、右マージンなどの不可視要素を表示することができます。表示できる不可視要素の種別は以下のとおりです。Editor」で設定します⁠)⁠。Whitespaces」をONにする半角スペース、全角スペース、タブを可視化します。Wrap⁠」⁠)をONにしたときの論理改行は表示されます。Space」で行います。意外(?)とこれら空白文字のシンボルがどう表現されるかでエディタの好みが分かれます。残念なが、このシンボルを他のものに置き換えることはできません。separators」をONにするメソッドの区切りに補助線を引きます。guides」をONにするインデント位置の補助線を引きます。margin」をONにする右マージン位置に補助線をひきます。margin」で指定します。Appearance」で設定できます。言語ごとのシンタックスハイライトの色設定は自由にカスタマイズ可能です。Fonts」内の各項目で行います。設定できる項目は多岐にわたります。Studioとの相性がわかるかもしれませんね。Fotns」設定の組み合わせを「Schema(カラースキーマ⁠)⁠」と呼び、初期状態では「Default」と「Darcula」の2つがプリセットしてあります。As...」で自分用を作ります⁠)⁠。Style」など⁠)⁠。これらもカラースキーマと同じく、プリセット分の修正はできませんので、自分用のセットを作ってカスタマイズしてください。みんながみんなカスタマイズに夢中になるわけはありませんよね。できれば出来合いのカラースキーマを使いたいという人もいると思います。インターネットを探すとカラースキーマが公開されていますので、いくつか紹介します。scheme」といったキーワードで検索することです。筆者も人のことは言えませんが、IDEの見た目にこだわる人っていますよね。Stuiodのフォントの設定箇所はあちこち分散していますので、どこまでカスタマイズ可能なのかひとまとめにしておきます。Font」で指定します。複数のフォントを指定できるのが特徴で、英字フォントと日本語フォントの混在ができます。font」をONにすることでアンチエイリアシングをかけることができます。好みの問題ですが、筆者はWindows版のアンチエイリアシングは好まないため、Mac版でのみONにしています。Logツールウィンドウ」などのいわゆる「コンソール」部分のフォントを個別に指定できます。Wheel」をONにすると、Ctrlキーを押しながらマウスホィール操作でフォントサイズを即時に変更することができます(Macの場合だと、トラックパッドのピンチイン・アウトでもできます⁠)⁠。プレゼンでライブコーディングをしている時にしか使うような機能ではありませんが、インパクトがあるので覚えておくと、思いがけず喝采を浴びるかも知れませんよ。by」でフォント(⁠「⁠Name⁠」⁠)とサイズ(⁠「⁠Size⁠」⁠)を指定します。今のところ「Projectツールウィンドウ」や「Structureツールウィンドウ」内のフォントを個別に変更することはできません。筆者が好むフォント設定ついでなので、筆者が常用しているフォント設定を紹介します。Studioスクリーンショット用にはフォントサイズが小さすぎるため、この連載では標準のDarcula設定のままで進めます。「ガーターエリア」について「ガーターエリア」にはオーバーライドした/された、実装した/された、といったJavaのコードを辿るマーカーが表示されます。それ以外にブレイクポイントやブックマーク。ファイルがバージョン管理下にあれば、その変更情報などが表示されます。このあたりはEclipseと遜色ないと思います。珍しい点といえば、次のような再帰呼び出しにもマークが付きます。再帰呼び出しを示すガーターアイコンこの再帰マーク以外の「ガーターエリア」に表示されるアイコンはクリック可能で、なんらかのアクション(ジャンプ、ON/OFF、etc...)が実行できます。status」と呼んでました)とスクロールバーを兼ねた縦方向のエリアにカラーのマーカーが表示されてます。Eclipseも似たようなインターフェイスを持っているので、それほど違和感はないのでは?と思います。右上端のインジケータはファイルの状態に応じて緑、黄、赤を示します。色合いから想像が付くと思いますが、主な状態を表1にまとめました。Studioのコード検査機能(Inspection)が指摘した内容だと言うことです。Studio側の設定を相当細かく設定しないと緑にすることができません。Studioの特徴のひとつでもあるので、詳細については後であらためて説明します。Studioにはありません。なによりインクリメンタル・ビルドがありませんし、自動ビルドもGradle連携で封印されています。言えば「Projectツールウィンドウ」で問題のあるファイルは赤線で表示されるくらいです(当然、手動でビルドすれば「Messagesツールウィンドウ」にコンパイルエラーが表示されます⁠)⁠。問題のあるファイルの見分け方さらに言うと「Projectツールウィンドウ」の「Problems」ビューを使うと、問題のあるファイルだけをピックアップすることができます。「⁠Projectツールウィンドウ」のProblemsビューEclipse使ってる人からみれば「こんなん違う......」ですよねぇ。このインターフェイスに馴れている身からすればどうってこと無いのですが、Eclipseからの移行組や併用組には大きなストレスなのでは?と思います。改行コードのファイルエンコーディング、ついでにハードタブエディタの見た目の話とはちょっと違うのですが、説明する機会を逸しそうなので、ここで補足をしておきます。デフォルトでは、改行コードはプラットフォームデフォルト、ファイルエンコードはUTF-8に設定されていますが、その設定箇所について説明します。files)」で指定します。General」ただし、これはファイルを新規に作成したときの改行コードで、すでに作成済みのファイルには適用されません。既存のファイルの改行コードはステータスバーに表示してあるので、それをクリックして改行コードを変更できます(第7回参照⁠)⁠。Separators」で任意の改行コードを指定します。Styleのスキーマもデフォルトの設定は変更できません。別途専用のスキーマを作成してから設定を変更しますが、一部例外があり「Projectスキーマ」はそのまま変更できます。ややこしい話なのですが「Projectスキーマ」はProject固有の設定のため、設定内容は<PROJECT_HOME>/.idea/codeStyleSettings.xmlに保存されるからです。「⁠Defaultスキーマ」はIDE共通のプリセット値のため変更できません(実際に変更してみるとどうなるか分かります⁠)⁠。「Projectスキーマ」は現在開いているProjectに対する設定になりますが、どのProjectでも共通の初期設定というのも可能です。Settings」で設定します。Encoding」で指定します。Encoding」でした⁠)⁠。設定画面を見ればわかりますが、プロジェクト内のディレクトリ/ファイル別にエンコーディングを指定できます。残念ながら拡張子別の指定はできません。conversion⁠」⁠)の指定があります。Android開発でJavaのプロパティファイルを利用するのかわかっていませんが、参考まで。改行コードと同じく、編集中のファイルのエンコーディングもステータスバーに表示してあるので、ここからエンコーディングを変更することができます(指定したエンコーディングに変換する/開き直すを選択できます⁠)⁠。ステータスバーでエンコーディングを変更したときに表示するダイアログ※「Reload」で指定したエンコーディングで開き直し、「⁠Convert」で指定したエンコーディングに変換します。先ほどの改行コードと異なり、エンコーディングを一括変換することはできません。Java製でかつ海外モノのソフトウェアにしては日本語のエンコーディングの処理はまともなほうです。NEC特殊文字・IBM拡張文字も正しく保存され、UTF-8⇔Windows-31Jに相互変換してトーフ('□')やはてな('?')に化けることはなかったです。最近、ソースコードにハードタブを使っているのを見かけません。StudioもデフォルトではハードタブをOFFにしています。一応、どこで設定しているかを説明しておきます。character」で指定します。ここをONにするとハードタブを使うようになります。改行コードと違って言語ごと(Groovy/HTML/Java/XML)に指定することが出来ます。tabs」をONにするとハードタブ内をカーソル移動することができます。Indents」で行います。v0.2.0が登場しました。今回はいつものような差分アップデートではなく、インストールパッケージのダウンロード方式しか提供されませんでした。「ついにこのパターンが登場したか」と思いました。上がるたびに今回のようなアップデートになるのかも知れませんね。それと相変わらず旧バージョンは入手不能です。Studioを試用していみる人は問題ないのですが、すでに使っている人は「どうやってアップデートしたものか」と思案するかと思います。Studioを共存させる」を実践されている人向けのアドバイスを紹介します。Studioと被らない場所にv0.2.0をインストールします。SDKが同梱されています。SDKをv0.2.0同梱のSDKに置き換えるのが一番簡単です。Repository」をインストールしておいてください。Gradleプラグインのバージョンが上がったためなので、build.gradleの該当箇所を図26のように修正します(今まで"0.4"で指定していたのを"0.5以上"に変更する⁠)⁠。Gradleプラグインの0.5以上を指定するそれとどういうわけか「assembleタスクが無い」と指摘されるので、リスト1のように<PROJECT_HOME>/build.gradleにassembleタスクを追加します(この問題、公式には解決済みのようなので、次のリリースには直っていると思います⁠)⁠。Repository」が含まれていないためです。SDKにインストールしておいてください。android-support-v4:13.0.+が見つからないv0.2.0で作ったプロジェクトのbuild.gradleを見るとdependenciesの指定がfileからダウンロード方式に変わっています。Repository」が必要になります。android-support-v4.jarが置いてあります(でも使ってないので削除しても平気です⁠)⁠。v0.2.0で作成したプロジェクトのレイアウトv0.2.0の所感v0.2.0はEAPらしく既存環境の継続性をあまり重視しない大きな変更だったと思います。これしきのことでへこたれては立派な人柱にはなれないぞと試された気分です。Studioの仕組みがおぼろげながらもわかってきました。SDKの3つを熟知してないと、いろいろ辛いんだなぁと言うことです。EAP(早期プレビュー版)と言うだけのことはあります。SDKやGradleの都合もあってインターネットに接続していることが大前提にあるようです。企業内ネットワークのようにファイアウォール内に居る場合は、あちこちにプロキシの設定をしなければならず、これもストレスのひとつになっています。裏技というか、ちょっと身も蓋も無い方法として、JVMそのものにプロキシ設定をしてしまう方法がありますので、それを紹介します。Java標準の機能なのでご存じの人も多いと思いますが、<JAVA_HOME>/jre/lib/net.propertiesにプロキシを設定すると、そのJVMで動くアプリケーション個別にプロキシを設定する必要がなくなります。StudioやGradleなど個別にプロキシを設定する必要がなくなります。この設定の存在を忘れてしまうと、新しい環境を作った時にハマりますが「もうプロキシ設定でハマるのはまっぴらだ」という人はチャレンジしてみてはどうでしょう。Studioのエディタはテキストエディタが中心なのですが、僅かにテキストエディタ以外の特殊なエディタが存在していますので、その紹介をします。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。