プログラマ向けのエディタで今人気のものといえば Microsoft の開発した Visual Studio Code 通称 VSCode があげられると思う。自分もインストールだけして長らく放置していたが、最近ふと使ってみたところ非常に高機能で使いやすい素晴らしいエディタであったので今更ではあるが紹介しよう。
Visual Studio Code - Code Editing. RedefinedMicrosoft より公開されている Visual Studio Code はオープンソースで開発されている Github 上の vscode を元にしてはいるものの別物となるようだ。Google Chrome と Chronium との関係性に近いらしい。
Menu license links to non Open Source license · Issue #60 · Microsoft/vscode · GitHubVisual Studio Code とは
簡単にいうと Microsoft 製の Electron で作られたプログラマ向けエディタだ。Electron 製のエディタというと Atom が思い浮かぶがそれよりも動作が軽快で且つ初期状態でも様々な機能が搭載されており、すぐ開発に取り掛かる事ができる。
例えば以下のような特徴がある。
- Windows, macOS, Linux どの OS でも動作
- 超強力な補完機能
- 文法チェック・マルチカーソルなどのプログラムを書くのに便利な多数の機能
- 目的のファイルやコードを探すのに便利な多数のナビゲーション機能
- ターミナルや Git、デバッガ、タスク機能を内蔵
- 拡張機能や設定ファイルによるカスタマイズ性の高さ
もはやエディタの域を超えている。IDE との違いは何なのだろうかと考えてしまう。
Windows, macOS, Linux どの OS でも動作
VSCode は Electron で開発されたソフトウェアなのでマルチプラットフォームで動作する。複数の OS を利用している人でも同一のソフトウェアを利用できれば操作感を損なう事なく利用できるし、人に勧める際にも OS が原因でインストールできないなんて事にはならないため、便利だ。
ダウンロードページは以下にあるが、現時点では Windows(64bit/32bit), Linux(deb/rpm/tar.gz), Mac と複数のパッケージを用意してある。
Download Visual Studio Code - Mac, Linux, Windows超強力な補完機能
VSCode には IntelliSense と呼ばれるオートコンプリート機能が搭載されている。文字を入力すると自動的に候補を表示する機能で、変数の型も参照して利用可能なメソッドも出してくれる。
例えば JavaScript であればファイル内で利用している単語だけでなく、includes や indexOf のような String のメソッドを引数付きで表示してくれる。
最初から有効になっているため勝手に表示されるが、ctrl-space のキーバインドで手動で表示も可能だ。
標準では JavaScript や TypeScript, HTML, CSS といったごく一部のみサポートしているが拡張機能を導入する事で他の言語でも利用できるようになる。
文法チェック・マルチカーソルなどのプログラムを書くのに便利な多数の機能
プログラムを書く際に便利な様々な機能も最初から用意されている。例えばマルチカーソル、これは複数の行を同時に編集する際などに便利だ。
対応するブロックの選択や矩形選択機能も用意されており、使いこなせば作業効率をあげられる。
プログラムに構文エラーが無いかを自動的にチェックしてくれる Lint 機能も用意されている。
プログラム全体がわかりやすくなるミニマップ機能も画面右側に表示されている。
自動保存機能もあるのでコンピュータがクラッシュしても安心だ。
一つ一つは小さな機能だが、これら便利機能が最初から利用できるというのが設定や拡張機能などを探す手間が無く、大変便利だ。
目的のファイルやコードを探すのに便利な多数のナビゲーション機能
通常アプリなど開発する際には多数のファイルを扱う事となり、目的のファイルを探すのが大変な時もある。VSCode ではそういった場合に備え様々な機能を用意している。
例えばクイックファイルナビゲーション。ctrl-p を押すと検索ボックスが表示され、文字を打ち込む毎にプロジェクト内のファイルを絞り込むことができる。ファイルを探すのにマウスを触る必要が無いのでキーボード派にはうってつけの機能だ。
検索機能はファイルを横断して検索できる。
メソッドの上で F12 を押せばそれを定義してある場所へジャンプするし、Alt+F12 を押せばその場でチラ見する Peek(のぞき見) 機能も用意されている。
もちろんアウトライン表示も可能だ。
ターミナルや Git、デバッガ、タスク機能を内蔵
他のエディタではあまり実装されていないがプログラムを書く際に必要となるバージョン管理システム、デバッガなどの機能も最初から用意されている。
バージョン管理システムは Git が利用できる。OS に Git がインストールされており正常に設定できていれば VSCode のサイドバーから各種 Git の操作ができたり、エディタ上でどこを編集したのかを表示できるようになる。
デバッガもサイドバーにあるが、自分はまだ何も設定してないので省略。
ターミナルは ctrl+` を押すと画面下部のパネルから表示される。cmd.exe や PowerShell, WSL など好きなものを利用可能だ。
最近流行りの fish shell だって問題ないし rails server だって実行可能だ。
拡張機能や設定ファイルによるカスタマイズ性の高さ
もちろん拡張機能にも対応しているし設定ファイルはエディタで記述が可能となっているなど、非常にカスタマイズ性も高い。例えば俺のように Vim キーバインドでないと嫌だという人でも VSCodeVim という拡張機能を入れればエディタを Vim っぽく扱う事ができる。
設定ファイルはアプリケーション本体の設定とプロジェクト毎の設定、キーバインドの設定と複数に分かれている。プロジェクト毎の設定ができるのは複数人で進める仕事などでは便利だろう。設定は GUI で設定したものであってもファイルとして保存されるので管理しやすいのも良い。
まとめ
このように VSCode はプログラムを書く際に必要となる多数の機能を最初から備えており、且つカスタマイズ性も非常に高いエディタだ。
一週間ほど設定したりプログラミングに利用してみたが、今オススメのエディタは何か?と聞かれたら間違いなく VSCode と答えるだろう。そのぐらい完成度が高い。
俺自身エディタは10年以上 Vim を利用していたが乗り換える時が来たのかもしれない。