最近、VSCodeのショートカットについて、ちょっと考えてたんだよね。なんか、すごいエンジニアって、みんなキーボードから手を離さずに、魔法みたいにコードを書いていくイメージない?
で、自分もそうなりたいと思って、チートシートとか見ながら覚えようとするんだけど…正直、全部は覚えられないよね。😅 3日もすれば半分以上忘れてる。
でもね、最近気づいたんだ。全部覚える必要なんて、多分ないんだって。本当に自分の作業を劇的に変えてくれる、いくつかの「必殺技」みたいなショートカットを体に覚えさせるだけで、世界は変わる。今日は、そういう「たくさんあるけど、正直これだけは」っていうやつを、自分用のメモも兼ねて、ちょっとまとめてみようかなって。
WindowsユーザーもMacユーザーもいると思うから、両方書いとくね。`⌘`がMacのCommand、`Ctrl`がWindowsのControlキーって感じで見てくれると嬉しい。
TL;DR
全部覚えるのは無理。まずは「ファイル検索」「コマンドパレット」「行の移動」の3つだけでもいい。それだけで、マウスに手を伸ばす回数が半分以下になる。マジで。
まずこれだけは覚えたい「基本のキ」
どんな言語を書いてても、どんな作業をしてても、これは絶対使うっていうやつ。もし今日、この記事で3つしか覚えないって決めるなら、ここから選んでほしい。
-
コマンドパレットを開く: `⌘ + ⇧ + P` (Mac) / `Ctrl + Shift + P` (Win)
これ、VSCodeの「何でも言うことを聞いてくれる執事」みたいなもん。ショートカットを忘れても、やりたいこと(例えば "format document" とか "change theme" とか)を英語で入力すれば、大体見つかる。ショートカットを覚えるためのショートカット、みたいな立ち位置かな。
-
ファイル名を指定して開く: `⌘ + P` (Mac) / `Ctrl + P` (Win)
サイドバーのエクスプローラーをちまちまクリックしてファイル探すの、もうやめよ。これを押して、ファイル名の頭数文字を打てば、一瞬で目的のファイルに飛べる。プロジェクトが大きくなればなるほど、このありがたみが身に染みる…。
-
間違って閉じたタブを復活させる: `⌘ + ⇧ + T` (Mac) / `Ctrl + Shift + T` (Win)
これ、マジで神。集中してると、必要なタブまで `⌘+W` で閉じちゃったりするんだよね。「あ゛っ!」ってなった時の精神安定剤。ブラウザでも同じショートカットだから、セットで覚えておくと便利。
コードをガシガシ書くときの時短技
ここからは、実際にコードを書いていく上で、タイピングのリズムを崩さずに効率を上げてくれるやつら。地味だけど、積み重なるとすごい差になる。
-
行を上下に移動: `⌥ + ↑ / ↓` (Mac) / `Alt + ↑ / ↓` (Win)
個人的には、これが一番使ってるかもしれない。カット&ペーストでコードの順番を入れ替える必要がなくなる。関数の引数の順番を変えたり、if文のブロックをちょっと上に持っていったり…。思考を止めずにコードの構造をいじれるのが、とにかく最高。
-
選択範囲(または行全体)をコメントアウト/解除: `⌘ + /` (Mac) / `Ctrl + /` (Win)
説明不要なレベルで便利。ちょっとこの部分だけ動かさないで試したい、みたいな時に一瞬でできる。もう一回押せば元に戻る手軽さもいいよね。
-
マルチカーソル - 次の一致を選択: `⌘ + D` (Mac) / `Ctrl + D` (Win)
これが使えるようになると、一気に「玄人感」が出る(笑)。同じ単語(変数名とか)をいくつか同時に修正したいとき、修正したい単語を選択して、`⌘+D` を押していくと、同じ単語がどんどん選択されて、カーソルが複数になる。で、一気に全部書き換えられる。最初はちょっと戸惑うけど、慣れると手放せなくなる魔法。
-
行を削除: `⌘ + ⇧ + K` (Mac) / `Ctrl + Shift + K` (Win)
一行選択して `delete` でもいいんだけど、こっちの方がなんか…早い。カーソルがどこにあっても、その行をサクッと消せる。一行選択する手間が省けるだけなんだけど、これもリズムを良くしてくれるんだよね。
マウス操作 vs ショートカット、どれくらい違う?
「本当にそんなに違うの?」って思うかもしれないから、よくある作業で比べてみた。たぶん、こんな感じ。
| やること | マウス操作 | 基本ショートカット | もう一歩進んだ使い方 |
|---|---|---|---|
| ファイルを探して開く | サイドバーをスクロールして、フォルダを開いて…あ、どこだっけ?ってなる。 | とりあえず ⌘ + P してファイル名で検索。うん、早い。 |
いや、関数名やクラス名が分かってるなら ⌘ + T でシンボル検索っしょ。プロジェクト全体から一発で見つかる。 |
| 変数名を変更する | 一個見つけて書き換えて、検索して、また書き換えて…。うっかりミスしそう。 | ⌘ + D でマルチカーソルにして、一気に全部書き換える。これは気持ちいい。 |
いやいや、F2 でしょ。その変数が使われてる箇所を全部、安全にリネーム(リファクタリング)してくれる。スコープも見てくれるから一番確実。 |
| コードの定義元にジャンプ | その関数がどこで定義されてるか、またファイル検索…。面倒くさい…。 | 関数名の上にカーソルを置いて F12。一瞬で定義ファイルに飛べる。戻る時は Ctrl + - ね。 |
⌥ + F12 で「定義をここに表示」。今のファイルから移動せずに、小窓で定義元の中身を見れる。コンテキストを失わないのが最高。 |
こうやって見ると、ショートカットってただ早いだけじゃなくて、ミスを減らしたり、思考の流れを止めないための工夫なんだなって思う。
なんでショートカット、身につかないんだろう?
これ、昔の自分もそうだったんだけど、たぶん原因は「一気に覚えようとしすぎ」なんだと思う。チートシートを壁に貼っても、たぶん見ない(笑)。
Microsoftの公式サイトとか見ると、もう膨大なリストがあるんだよね。それはそれで辞書としては正しいんだけど、全部は無理。
だから、おすすめは「今週はこの1個だけマスターする」って決めること。例えば、今週は「行の移動(`⌥ + ↑ / ↓`)」を絶対マウスでやらない、って決める。最初はもどかしいけど、3日もすれば無意識に指が動くようになる。そしたら来週は、次の一個。「マルチカーソル(`⌘ + D`)」に挑戦する、みたいな。
この小さな成功体験を積み重ねていくのが、結局一番の近道な気がするな。
その他、地味に役立つやつら
最後に、使用頻度は上のやつらほどじゃないけど、知ってると「おっ」てなるやつをいくつか。
-
サイドバーの表示/非表示: `⌘ + B` (Mac) / `Ctrl + B` (Win)
コードに集中したい時、一時的にサイドバーが邪魔になることあるよね。これで一瞬で消せる。もう一回押せば戻ってくる。
-
ターミナルの表示/非表示:
Ctrl + `(Mac/Win共通)これも `⌘+B` と同じ思想。ちょっとコマンド打ちたい時にサッと出して、終わったらサッとしまう。画面を広く使える。
-
定義へ移動: `F12`
テーブルでも書いたけど、これ本当に大事。知らない関数やコンポーネントが出てきた時に、とりあえず `F12` を押す癖をつけると、コードリーディングがめちゃくちゃ捗る。
-
戻る / 進む: `Ctrl + -` / `Ctrl + ⇧ + -` (Mac) | `Alt + ←` / `Alt + →` (Win)
`F12`で定義に飛んだ後、元の場所に戻りたい時に使う。VSCode内のブラウザバックみたいな感じ。これはセットで覚えないと意味がないやつ。
…と、まあこんな感じかな。他にもデバッグ系とか、Git系とか、便利なショートカットは山ほどあるけど、まずはこの辺のテキスト編集とファイル操作をマスターするだけで、開発体験はかなり良くなるはず。
完璧なリストじゃなくてごめんね。でも、これが多分、多くの人がリアルに使ってるショートカットのコア部分だと思うんだ。
みんなが「これだけは絶対に手放せない!」っていうショートカットって何かな?もしよかったら、コメントで教えてくれると嬉しい。意外と知らない便利なやつ、あるかもしれないし。🙂
