この記事は BrainPad Advent Calendar 2020 11日目の記事です。
前置き
今まで仕事等で使ってきた各エディタの特徴や使い心地についてまとめてみます。基本的にmac OSを前提としています。
なお使用期間としてはVimは6年程度、VS Code(Visual Studio Code)は1年程度、intelliJは数ヶ月程度です。
各エディタに精通しているわけでも無く、そもそも設計方針や使用目的が異なるツールで比較すべきでは無いのかもしれませんが、基本的に開発する中で感じた点について記載してます。
Vim
Webアプリの開発の勉強を始めた頃、AWSのEC2インスタンス上でファイル操作するのにvimを使ったのがきっかけで、そこから利用するようになりました。独特の操作方法ですが大体vimtutorで覚えました。一時期vimrcの設定にはまったりブログ書いたりしていました。
操作が独特すぎるので使い始めるときのハードルは高いかもしれないですが、他のエディタでも同様の操作ができるので、一度覚えとくと素早くコード編集ができるので役に立ちます。また全ての操作がターミナルで完結するというのも利点です。
なお、よく対比されるエディタとしてemacsが挙げられますが、僕は利用したことないのでここでは特に言及しません。
VS Code
学生の頃はIDEが苦手でvimを使い続けてたのですが、社内でよくVS Codeの話を聞くようになったので試しに使ってみました。
特に設定しなくてもGUIがわかりやすいし感覚的に操作できる、という印象が強いです。
また公開されているプラグインの検索がエディタからできて、そこからすぐインストールできるというのも楽です。
なによりkey bindingの設定でvimと同様の操作ができることがわかるとVS Codeを用いた開発がメインになりました。
学生の頃に行っていた開発は比較的小規模のものだったので、IDEだと余分なものが多いと思って利用を控えていたのですが、
仕事だと複数プロジェクトの開発を行うことがあり、プロジェクト単位で見れるというのがわかりやすいです。
サイドバーからディレクトリ構成が見れるというのは当たり前かもしれませんが、vim生活が長かったので少し感動がありました。
加えて、それまでIDEに感じていた画面の雑多さがあまりなかったというのもとっつきやすいポイントでした。
またメモ帳代わりにも使っています。markdown形式だとカラースキームがつくというのもありますが、
メモ帳用のディレクトリを作成し、その配下でメモを管理すると過去分が見やすいというのがあります。
一時期Typoraのようなmarkdown専用エディタを使っていたときもありましたが、WYSIWIGな操作、例えば箇条書きにするときに自動的に表示が大きく変わる点などが慣れないこと、ファイル移動がしにくい点が不満でVS Codeに切り替えました。
intelliJ
最近携わっている開発プロジェクトがjavaがベースでintelliJ推奨だったので利用しています。
恥ずかしながら正直intelliJにはまだ慣れていなくてVS Codeと併用しています。
ただintelliJの方がテストの実行、タグジャンプがやりやすいと感じます。
これらの機能は他のエディタでもできることですが、特に設定せずとも簡単に利用できる点が良いです。
特にタグジャンプはVS Codeだと辿りきれないことが多々あったりするのですが、intelliJだと辿れたり、
逆に利用されている部分に戻るというのもやりやすいです。
カスタマイズ性について
上記で紹介したどのエディタにおいてもプリミティブな機能やプラグインは豊富で、できることは非常に多いです。
そのため開発にまつわる全ての機能を1エディタでできるようにする、というのも可能ですが、無理にカスタマイズを極めるのに時間をかける必要は無いと思っていて、既存のツールのUIが十分見やすかったり操作が手慣れてるものがあるのならそれで良いと思います。
むしろツールとして切り離して疎結合なほうが設定不要だしシンプルで使いやすいなと思います。
例えばVS Codeのプラグインを利用することで、CSVファイルの閲覧、dockerのコンテナ状況の確認、git操作、などが可能になったりします。
ただ僕の場合、これらの作業はそれぞれ別のツールから利用しています。
カスタマイズするのが好きだったりそれこそ趣味にしている人のほうがエンジニアらしい気もするし人それぞれだとは思うのですが、
あんまり執着せずにラフな関係でありたいというのが個人的な思想です。
別で利用しているツール
-
iTerm2
- 普通にターミナルとして使ってます。スクリプトの実行、ローカルサーバの起動、git操作等、もろもろ全てここからやってます。
-
postman
- APIを叩くのに利用しています。繰り返し叩くものとかはここに登録して使いまわしてます。
-
Docker Desktop
- 以前はVS Codeのプラグインからdockerのステータス等見てたのですが、最近UIがわかりやすくなったのでこれで十分かなと思って使うようになりました。
-
DBeaver
- DBの確認用です。基本的に立ち上げたままで中身の確認、編集をしてます。
まとめ
ざっくり、以下のような使い方をしています。
エディタ | デフォルトの機能の充実度 | 用途 |
---|---|---|
Vim | 低 | ssh先や単一ファイルなどの一時的な編集操作 |
VS Code | 中 | プロダクトコードの編集、コードリーディング、メモ帳 |
intelliJ | 高 | プロダクトコードの編集、テストの実行 |
なにかしらのエディタが最高、というわけではなくて、現在は並行して利用しています。
これから利用していくなかで使わなくなったり新たなツールを利用したり、やり方は変えるかもしれませんが、
それぞれメリット、デメリットや合う、合わないがあるのでたまに調べてみると面白いかなと思います。
以上です。