フリーのテキストエディタ
このように、プログラミングを行うように作られたテキストエディタには、便利な機能が多々あります。それらをMacのCotEditorを例に紹介してきましたが、もちろん、他にもテキストエディタはあります。ここでは、フリーのテキストエディタをいくつか表形式で紹介します。まず、Windows用のテキストエディタです。
エディタ名 | 説明 |
---|---|
サクラエディタ | 日本製の軽量で高機能なエディタ。 |
Notepad++ | Windows付属のメモ帳(Notepad)をプログラマー向けに拡張したエディタ。 |
Windowsには、老舗のエディタとして秀丸エディタがありますが、こちらは有償です。
次に、Mac用です。
エディタ名 | 説明 |
---|---|
mi | 日本製のMac用老舗エディタ。 |
CotEditor | mi同様に日本生まれのエディタ。App Storeからダウンロードできる。 |
BBEdit | メニューの日本語化には対応していないが、高機能なエディタ。App Storeからダウンロードできる。 |
BBEditについて少し補足しておきます。これは、基本は有料アプリです。しかし、30日間の試用期間があり、試用期間終了後、機能が限定された形で無料で使い続けることができます。限定されているといっても、他のエディタと遜色なく十分高機能です。
最後に、WindowsとMacの両方で使えるクロスプラットフォームなテキストエディタです。
エディタ名 | 説明 |
---|---|
Atom | GitHubが提供している高機能エディタ。さまざまな開発に使える。「パッケージ」を追加していくことで、機能拡張が可能。 |
Visual Studio Code | Microsoftが提供している高機能エディタ。Atom同様、さまざまな開発に使え、機能拡張が可能。 |
AtomやVisual Studio Code(VS Code)と同様にクロスプラットフォームのテキストエディタとしてSublime Textもあります。こちらもパッケージを追加することで機能拡張が可能です。ただ、試用期間を過ぎても使い続けるには、ライセンスを購入する必要があります。
高機能テキストエディタの特徴
表3で挙げたクロスプラットフォームのテキストエディタは、Sublime Textも含めて、どれも高機能テキストエディタといわれています。サクラエディタやCotEditorといったプログラミング用テキストエディタでも十分高機能といえますが、それ以上に高機能といわれるゆえんをこの節ではVS Codeを例に紹介していきます。
プロジェクト管理機能
図7はVS Codeの画面です。
高機能エディタの特徴として、ファイル単位で表示するのではなく、図7のようにプロジェクト単位で表示できる点が挙げられます。
図7はHelloFromCodeというフォルダをルートフォルダとするプロジェクトを開いている画面です。左側のエクスプローラ欄に「HELLOFROMCODE」と表示された領域があり、そこには、HelloFromCodeフォルダ内のすべてのファイル、サブフォルダが表示されるようになっています。
さらに、このHELLOFROMCODE欄上でフォルダやファイルを作成できます。いちいちWindowsエクスプローラやFinder上でフォルダやファイルを作成して、それをエディタで開いて、といった手順を踏む必要がなく、すべてがエディタ上で完結します。
ターミナルの利用機能
すべてがエディタ上で完結する機能として、他にターミナル(コマンドプロンプト)が組み込まれている点も例として挙げられます。図8を見てください。
これは、HELLOFROMCODE欄上を右クリックし、[ターミナルで開く]メニューを選択した画面です。右下にターミナルが表示され、そこでコマンドが実行できるようになります。
バージョン管理システムとの連携機能
もうひとつ、エディタ上で完結する機能として、バージョン管理システムとの連携機能が挙げられます。実際のプログラミング現場では、バージョン管理システムを利用しないことはまれです。多くのシステム開発でGitやそのホスティングサービスのひとつであるGitHubなどを利用しています。
例えば、図9は、VS Code上でHelloFromCode内のファイルをGitに登録する画面です。
これは、左側のアイコンをクリックすることで表示されます。こちらも、Gitと連携するための別アプリを起動する必要がなく、便利です。
インテリセンス機能
さらに、高機能エディタにはソースコードを補完する機能がついています。Visual Studioではインテリセンスと呼ばれるものです。図10を見てください。
コードを入力中に、例えば、「$_」と入力したら、その候補が表示されます。その候補の中に該当するものがあれば、それを選択するだけで入力してくれます。例えば、図10では$_POSTが該当するならば、それを選択するだけで済み、「$_POST」とタイプする必要はありません。変数名やメソッド名、関数名などが長い場合にこれは便利です。
このインテリセンスでは、候補を表示してくれるだけではありません。既存の関数などを利用しようとすると、その定義を表示してくれる機能もあります。例えば、図11では、PHPの関数のひとつであるhtmlspecialchars()を入力し、その引数を記述しようとしている画面です。この関数がどういう関数なのか、引数としてどういったものを渡せばいいのかの概要を表示してくれています。
この表示を頼りにコーディングしていけば、わざわざWebで関数定義を検索する必要がなくなります。
スニペット
ソースコードの補完として、スニペットというものもあります。これは、ある程度の典型構文を自動的に展開してくれる機能です。例えば、図12はPHPソースコード上で「for」を入力した画面です。
表示されたコード補完リストの中から「foreach」を選択すると、図13のようなコードが自動入力されます。
いわゆるPHPのforeach構文です。プログラミングを行っていくと、ある程度の典型コードがあり、その枠組みを自動入力してくれるだけでコーディングの手間が省けることがあります。この典型コードの自動入力をスニペットといい、VS Codeはある程度のスニペットをあらかじめ用意しています。さらには、これらスニペットを自分で登録することもできます。