開発エディタを比較してみた
お世話になっております。片岡です。6日目です。
みんな内容が濃くて恐れおののいてるよ…この記事は箸休めだと思ってね
さて、ソフトウェア開発に携わる皆さん。エディタは何を使っていますか??
エディタを使いこなすことは、ソフトウェア開発の効率化に直結すること。その特徴を知って、自分に合ったエディタを選ぶことが大切。
というわけで、今回は私がすこーしだけ使ったことがあるor興味がある、独断と偏見で選んだ3つのエディタについて、主観混じりにご紹介していきたいと思います。
Line Up
Atom
VScode
Vim
まず3つの言語の共通点
Windows/Mac/UNIXなど主要なOSに対応している
C++/C#/JavaScript/PHP etc... 多言語に対応している
自分の開発環境や言語問わず使えるラインナップとなっております!
①Atom
https://gyazo.com/abd9bc330f49e116df8360919dfe549d
GitHub社が開発したエディタ。最大の特徴は、拡張機能の幅広さ。
デフォルトで入ってる機能はあまりないけど、様々なプラグインを入れることで自分の開発環境や好みに合ったエディタに仕上げることが出来る。オープンソースのエディタだからとにかくプラグインは豊富。こんな機能ないかな~って検索してみたら大体あると思う。挙げだすとキリがないので参照だけ貼っときますね。
便利なプラグインはネットに山ほど落ちてるので、個人的にツボなプラグインをご紹介。
activate-power-mode
強くなれそう
https://gyazo.com/90bb8f0420595671d1f1fd0d7c7f699a
言語によってインデントやらの設定を変えることも出来るので便利。
個人的にはデザイン性がとても好き。アイコンも可愛い。color pickerという拡張機能を使えばフォントの色を細かく変えれるので、コードの見栄えでモチベ上がる人にはいいと思うよ!
難点なのが処理が重いこと。ファイルサイズが大きくなってくると、結構致命的に読み込みが遅くなる。
あとデフォルトの機能が充実してないからプラグイン入れるので最初は手間取るかも。
②VScode
https://gyazo.com/3fb96ba972db542ef36cd730fa24bf8f
2015年初版の比較的新しいエディタ。正式名称「Visual Studio Code」。
Microsoftが開発したものです。(IDEのVisual Studioとは違うよ!)
うちの課ではちょいちょいこれに乗り換える人が出ていて、現在は私も使っております。最近は開発者の中でかなり人気が高いようで、開発者の50%がVScode使ってるよっていうアンケート結果もあった。
Atomと同様にプラグインによって機能拡張が出来る上、デフォルトで入っている機能も割と豊富。コードの補完、デバッグ、Gitでのソースコード管理など大体のことはデフォルトで出来てしまう。
実はAtomで出来てVScodeで出来ないことってあまりない。color pickerもpowermodeも出来ちゃう。こっちの方がパリピっぽい。上記でAtomの利点としてあげたことは大体できます。ちょっとアイコンださいけど。
https://gyazo.com/8f9866f00b00390c43feb4144af3e785
デフォルトの機能が結構充実してるから、とりあえず使い始めてみて後から色んな機能を入れて自分好みにしていくっていうのが簡単にできる。
更に、処理が圧倒的に軽い。サクサク動く。検索も早い。今でもたまにAtomでtxtファイルとか開くけど、VScodeに比べて遅いし重いしびっくりする。
正直VScodeの良さを引き立てるためにAtomを使いました。Atomユーザーいたらごめんなさい。
③Vim
https://gyazo.com/95fca0cfe8bc0390e3158958a7c79b74
1990年頃誕生した歴史あるエディタ。Vimmerという言葉が存在するほど愛好家が多い。先輩が頭いい人はみんなVim使ってるって言ってた。
上記2つのエディタとの大きな違いは、基本的にCUIで操作をすること。なので、Vimを使いこなせるようになると、マウスを使わなくて良くなるらしい。
移動も検索も何もかもCUIで出来てしまうので、慣れると開発がめちゃくちゃ効率的になるし、他のエディタに移れなくなるらしい。
Linuxのディストリビューションにはデフォルトでインストールされていることが多いので、Linux環境で開発している人はすぐに使い始められるよ。
ただし、まぁ覚えることが死ぬほど多い。最初は本当になんでこんな使いづらいやつみんな使ってるんだってなる。(ちょっと触ってみたけどなりました)
例えば全文コピーしようと思ったら
gg V G y
っていうコマンドを打つ。慣れてないと直感的じゃなさすぎて何事?ってなる。
鍛錬の先に圧倒的開発効率向上が待っている、選ばれし者だけが使いこなせるエディタです。
色々比べてみた
VScodeの処理速度が早いという話
めちゃ軽いよ!と言ってましたがAtomとの比較データがありました。
table:VScode VS Atom
Atom VScode
30Mファイル読み込み 5.41s 1.86s
60Mファイル読み込み 10.58s 3.71s
120Mファイル読み込み 17.88s 4.80s
240Mファイル読み込み 応答なし 6.76s
480Mファイル読み込み 応答なし 12.15s
少し極端な例ではあるけど。VScodeの方が圧倒的に早いのは明確ですね。
コードの自動補完の話
一般的なエディタでは、コードを書くとこんな感じで色やフォントによって構文を強調してくれます。これをシンタックスハイライトといいます。
code:example.cpp
int main()
{
int a = 10;
int b = a * 10;
std::cout << b << endl;
return 0;
}
もちろん、ご紹介したどのエディタにもこの機能はあります。
それに加えて、変数名や関数名を推測して自動で補完してくれる機能があります。こんな感じね。
https://gyazo.com/5bb37b3decf8ad6c067f3bf983ab8b8e
VimやAtomでサポートされているのは、Ctagsという補完機能。
名前の自動補完だけでなく、関数の定義にジャンプ出来たり、関数の一覧が表示出来たりするから、開発効率爆上がりですね。
対してVScodeには、MicroSoft独自のインテリセンスという補完機能があります。
インテリセンスは、リフレクション(クラス名・メンバ名などプログラム自身のデータ)を用いることで、定義したオブジェクトのメンバ関数が参照出来るなど更に賢くなった自動補完機能という感じ。
デフォルトでサポートしている言語は限られてる(JavaScript、HTMLなど)けど、設定やプラグインによって色んな言語で使えるよ。
まとめると
みんなでVScode使おうよ!!!!!
☆終わりに
今回色々調べてたら、VScodeのプラグインでVimのキーバインドが導入できることが発覚。
開発効率の面では、慣れてしまうとVimが最強だと思うので、VScodeと組み合わせると高機能で超効率的なエディタになる…のかもしれない。
VScodeの拡張性とか色々気に入ってたけど、Vimも使ってみたいなーって思っていたのでこれでしばらく練習がてらやってみようかな。(今の開発が終わったら…)
VScode使い、Vimmerの方がいましたらおススメのプラグインとか使えるコマンドとか教えてください。
拙い文章でしたがお付き合いいただき、ありがとうございました。
コメント
umeki.icon Kohei Umeki 12/6 18:04
こんなに速度差があるとは思わなかった!
umeki.icon Kohei Umeki 12/6 18:05
長きにわたるVimとEmacsのエディター戦争は、VSCodeの勝利という形で幕を下したんだね