概要
Visual Studio Code の機能と Sublime Text2 の機能を比較してみます
前提
普段の開発について
私は、普段 Sublime Text2 で Ruby を利用して開発を行っています。
Sublime Text3 はまだ利用に踏み切っていないため、 Sublime Text3 独自の新機能は把握していません。
IDE の知識について
Java + Eclipese については過去数年の経験はあるので、ある程度どんなことができるか把握しています。
しかし、ここ 2・3 年の新しい機能については把握しておりません。
.NET の知識について
ほんの少し触ったことがある程度。
C# 等 .Net の言語を利用する際に便利な機能があるかもしれませんが、そういった機能については触れません。
便宜上
Ruby 開発者の視点から Visual Studio Code と Sublime Text2 を比較した場合、
Visual Studio Code の良さを伝える点ではよくないかもしれません。
また、Visual Studio Code はまだ発表されたばかりなので、今後どんどん良くなっていくでしょう。
このような点を踏まえた上で、
- 自分の用途以上のことについて調べるコストを節約する
- 比較対象があると機能について説明しやすい
という 2 点から、今回の形式での機能紹介にしました。
Visual Studio Code のみの機能
チラ見機能( Peek )
例えばスクロールしないと確認できないような大きなソースコードがあり、
最下部から最上部のメソッド( 関数 )を呼び出しているような場合、 メソッド呼び出し部で Alt + F12
で
チラ見機能 ( Peek ) を利用すると便利です。
この View から直接定義元のメソッド( 関数 )を編集することもできます。
アニメーションGIFのオペレーション
- ファイルの最下部に移動
hoge('msg')
をマウスでクリックAlt + F12
で Peek を実行- Peek で表示されたメソッドの定義内容を編集
- ※ちょっと分かりにくいですが、
hoge('msg')
の次の行に Peek の内容が表示されています
- ※ちょっと分かりにくいですが、
- メソッドの定義元まで移動して、 Peek の内容が編集されていることを確認
デフォルトで Emmet に対応
Sublime Text も Plugin によって Emmet に対応することができますが、
Visual Studio Code はデフォルトで対応している。
アニメーションGIFのオペレーション
!>table>(tr>td{hoge$}*3)*3
をペースト- タブ
Emmet って何?
HTML, CSS などを素早く入力するためのツールです。
詳しくは下記ページ参照。
どちらのエディタにもある機能
括弧のマッチング強調表示機能
Bracket matching - Visual Studio Code Doc
括弧のマッチング強調表示機能。
公式ドキュメントでは Bracket matching と記載されているが、
Bracket ( [
, ]
) だけではなく、
Parenthesis( (
, )
),
Brace( {
, }
)
も含む。
コード補完
Ctrl + Space
でファイル内のキーワードに対するコード補完。
※言語によっては、メソッドの補完なども可能
Multi-cursor
Selection & Multi-cursor - Visual Studio Code Doc
ここ最近のエディタでは一般的になっている複数行選択+編集。
Ctrl + Shift + up or down
や Alt
+ クリックで複数選択可能。
Sublime Text にしかない機能
ファイルジャンプ + メソッド宣言への移動を一気に行う
Sublime Text2 だと Ctrl + r
から ファイル名 + "@" + メソッド名
を入力することで
ファイルジャンプ + メソッド定義への移動を一気に行うことができます。
Visual Studio Code の場合、ファイルジャンプとメソッド定義への移動はそれぞれ独立した機能がありますが、
一気に行うことはできないようです。
行結合
Sublime Text2 だと Ctrl + j
で複数行のテキストを 1 行に結合することができます。
この機能と複数行一括編集を利用すると便利なのですが、Visual Studio Code には無いようです。
以下は、 Sublime Text2 の操作例です。
アニメーションGIFのオペレーション
- テキストの全選択
Ctrl + L
で複数行選択へ- シングルクォートを入力すると、自動的に文字列を囲む
End
で行末へCtrl + j
で行結合