大規模なプログラムを作るのであれば PhpStorm のような
IDE を使うのが一般的ですが、PHP の場合比較的小規模な内容が多く、
起動に10秒以上かかるような IDE を使い、「新規PHPプロジェクト」やら
「ワークスペース」を選択してようやく開発をはじめるのが面倒な事があります。
そのようなとき、プログラマ向きのテキストエディタがあると便利です。
テキストエディタは世の中に沢山ありますが、日本固有の文字コードをきちんと処理できるテキストエディタはそんなにありません。
今回は私がよく使っているいくつかのテキストエディタを比較してみます。
私がテキストエディタに求める機能は次のようなものです
行番号が表示できる
主要な言語のシンタックスハイライト機能を備えている
タブなどでたくさんのファイルを行き来できる
フォルダツリーでフォルダ内のファイルに移動できる
UTF-8、Shift-JIS に対応し、できれば EUC-JP も扱える
左右の画面分割ができ、比較しながら作業しやすい
黒背景で目にやさしい表示ができる
ファンクションリストがあり、関数が定義されている行にジャンプできる
よく使う作業フォルダを「お気に入り」などで登録できる
ディレクトリ内検索・置換ができ、正規表現が使える
複数行選択して Tab キーを押すとインデントでき、逆もできる
そんなに欲張ったつもりはありませんが、こうして見ると随分要求が多いです。
しかし、それを実現するエディタはあります。
Visual Studio Code
Microsoft が始めたオープンソースのプロジェクトで、かなり人気の高いテキストエディタです。
無料で使うことができ、Windows, Mac, Linux などの OS に対応しています。
プラグインによる拡張が可能で高い拡張性があります。
標準で統合ターミナル(コンソール)が利用でき、Git などとの親和性も高いです。
後述の Atom と同じ Electron ベースで、登場時期も近いためライバルとして比較されることが多いです。Atom に比べるとメモリの消費が少なく、快適性が高く、安定感もあります。テキストエディタに迷ったときはまずこの Visual Studio Code(VS Code) か Atom を試してみるのが良いと思います。
Atom
Github 主導でオープンソースによる開発が進められているマルチプラットフォームエディタです。
標準で各国の文字エンコーディングに対応し、オートインデントなどのプログラミングに必要な基本的な機能を備えています。
プラグインによる拡張が可能なため、矩形選択や文法エラーチェックなどの強力な拡張機能を加える事ができます。
後発なので洗練されている部分が多いですが、その分アップデート頻度が高くプラグインとの相性問題が起きやすく、やや不安定な面もあります。
ポテンシャルは Sublime Editor と互角かそれ以上で、十分な将来性が期待できます。反応速度と安定性が向上すればメインエディタとして十分な魅力があります。
NotePad++
フリーのテキストエディタで、大量のプラグインが利用できるのが利点です。
Plugin Manager から簡単に追加できるので、自分好みのテキストエディタを作るのに最適です。
よく使うのは、フォルダツリーを表示する「Light Explorer」と関数一覧を表示する「Source Cookifier」です。
バージョンは古いですが、日本語の自動認識に関しても改良されていて、
本家プラグインにも対応しているので実用上の問題はありません。
とはいえどちらのバージョンでも Shift-JIS 絡みのトラブルは時々起こります。
これに関しては海外製だから仕方ないと言う他ありません。
Sublime Text
(※画像は開発版のものです)
今では後発の VS Code や Atom に押され気味ですが、かつては定番と言ってもいい程人気があったテキストエディタです。
オートインデントや入力補完が非常に優秀で、快適な入力ができるのが特徴です。
プラグインによる拡張が可能で、目的に合わせてカスタマイズが出来ます。
ただし本体は Shift-JIS, EUC-JP 等の文字コードには対応しておらず(Build 3059 現在)、ConvertToUtf8 となどのサードパーティー製プラグインを使って UTF-8 に変換しないと読み込めないという欠点があります。(保存時は自動的にもとの文字コードに再変換されます)
また、日本語 IME への対応も不十分で、IME Support というプラグインも合わせてインストールする必要があります。
プラグイン開発が停滞すると致命的な欠点となり得ますが、それ以上に入力時の快適さというメリットは大きいので、UTF-8 が中心の開発環境であればメインテキストエディタとして十分おすすめできます。
jEdit
Java で書かれたフリーのテキストエディタで、Windows, Mac, UNIX などでも動きます
こちらもプラグインマネージャによるプラグイン管理ができ、高い拡張性があります。
個人的にはタブ表示を実現する「Buffer Tabs」、関数等の構造を表示する「SideKick」
「PHPParserPlugin」を利用しています。
インターフェースはやや雑多な印象がありますが、レイアウト変更は可能です。
文字コードの問題に関しては、デフォルトで EUC-JP に対応しています。
Javaっぽさが苦手でなければ Notepad++ 同様なかなか優秀なエディタだと思います。
TeraPad
やや番外編的な気もしますが、こちらのテキストエディタも紹介しておきます。
上で紹介した2つに比べると、多機能が売りというより軽快さが売りのソフトウェアです。
また、国産なので日本語の自動認識に関してはかなりの安定感があります。
開発用と言うよりも Windows 標準のメモ帳代わりで使っています。
すぐ起動するので txt ファイルや ini ファイルなどを確認するにはちょうどいいと思います。
矩形選択ができる点もなかなか便利です。
CSV をタブ区切りに置換してから一気に矩形コピーする時活躍します。