Curiosity in my 50s. Engineering, AI, English, and lifelong learning.
VS Codeでは、すべての文字を一字ずつ手入力する必要はありません。
大切なのは、コードの意味や構造を自分で考えながら入力し、スペル、閉じ括弧、インデントなどの機械的な作業をVS Codeに任せることです。
基本的な考え方は次のとおりです。
自分で意図して入力を始める
↓
補完候補を確認する
↓
Tabで確定する
↓
最後にフォーマッターで整える
例えば、次の途中まで入力します。
classN
補完候補に className が表示されたら、Tab または Enter で確定します。
className
これは手抜きではなく、VS Codeを使った標準的な入力方法です。
補完を利用すると、次のようなミスを減らせます。
Control + Space で表示する補完候補が自動的に表示されない場合は、次のキーを押します。
Control + Space
例えば、次の位置で補完候補を表示します。
<img
s
状況に応じて、src などの候補が表示されます。
macOSの入力ソース切り替えと競合する場合は、Command Paletteから次のコマンドを実行します。
Trigger Suggest
VS Codeには、短い省略記法からHTMLやJSXを生成するEmmetがあります。
例えば、次を入力します。
div.alfred-amazon-card__image
Emmetの候補を選択して Tab を押すと、次のコードに展開されます。
<div className="alfred-amazon-card__image"></div>
同様に、次のような入力も利用できます。
span
<span></span>
img
<img src="" alt="" />
候補が複数表示された場合は、Emmet Abbreviation と表示された候補を選びます。
開始タグを入力すると、多くの場合は閉じタグも自動的に追加されます。
<div></div>
カーソルは開始タグと閉じタグの間に配置されます。
<div>|</div>
ここで Enter を押すと、次のように展開されます。
<div>
|
</div>
閉じタグが自動生成されている場合は、自分でもう一度入力しないようにします。
閉じタグの二重入力は、JSXの構造が崩れる原因になります。
Tab と Enter を使い分ける補完候補やスニペットを操作するときは、次の使い分けを基本とします。
Tab:候補を確定し、次の入力位置へ移動するEnter:通常の改行、または補完候補の確定に使うEsc:不要な補完候補を閉じる特にEmmetやスニペットでは、Tab を押すことで入力位置を順番に移動できます。
<img
src=""
alt=""
/>
VS Codeは通常、次の文字を自動的に閉じます。
(
{
[
"
'
例えば、{ を入力すると、対応する } も自動的に入力されます。
{ | }
同様に、( を入力すると ) が追加されます。
( | )
入力中は、VS Codeが作成した閉じ括弧や引用符を確認し、同じ文字を重複して入力しないようにします。
今回のような条件付き表示では、括弧の対応関係を意識します。
{ imageUrl ? (
<img />
) : (
<span>No Image</span>
) }
入力中にインデントが多少崩れても、手作業で完全に整える必要はありません。
ファイル全体を整形するMacのショートカットは次のとおりです。
Shift + Option + F
Command Paletteから実行する場合は、次のコマンドを選びます。
Format Document
選択した範囲だけを整形する場合は、次のコマンドを使用します。
Format Selection
JSXでは括弧やタグが多いため、人間が空白を数えるよりもフォーマッターを利用する方が安全です。
基本的には、コードを変更した後に一度フォーマットします。
現在の行や選択した行を上下へ移動する場合は、次のショートカットを使います。
Option + ↑
Option + ↓
行を複製する場合は、次のショートカットを使います。
Shift + Option + ↓
似たコードを追加するときに便利です。
現在選択している文字列と同じ文字列を、次の位置でも選択する場合は次を使います。
Command + D
例えば、imageUrl を選択して Command + D を押すと、次の imageUrl も選択されます。
ファイル内の同じ文字列をすべて選択する場合は次を使います。
Shift + Command + L
任意の位置へ複数のカーソルを追加する場合は次を使います。
Option + Click
慣れるまでは、Command + D で一つずつ確認しながら選択する方が安全です。
VS Codeのすべてのショートカットを最初から暗記する必要はありません。
Command Paletteは次のキーで開きます。
Shift + Command + P
Command Paletteでは、実行したい機能名を検索できます。
Format Document
Format Selection
Trigger Suggest
Rename Symbol
Organize Imports
Emmet
最初はショートカットよりも機能名を理解し、頻繁に使う機能だけを徐々に覚えます。
VS Codeは、問題があるコードに赤色や黄色の波線を表示します。
波線にマウスポインターを合わせると、問題の内容が表示されます。
Macでは次のキーで、現在のファイル内にある問題へ移動できます。
F8
前の問題へ戻る場合は次を使います。
Shift + F8
エラーが出た場合は、すぐにコード全体を書き直すのではなく、波線が表示された位置と、その直前の括弧やタグを確認します。
コードを変更したら、次の順番で確認します。
npm start を実行しているターミナルを確認するコードが正しそうに見えても、ビルドと実際の画面の両方を確認します。
次のコードを入力する場合を考えます。
<img
src={ imageUrl }
alt={ title || __( 'Product Image', 'alfred-affiliate' ) }
/>
効率的な入力手順は次のとおりです。
img と入力するTab で確定するsrc の入力位置へ移動する{ を入力するimage まで入力するimageUrl を Tab で確定するalt の入力位置へ移動する{ title || __( まで入力するShift + Option + F で整形する| 操作 | Mac |
|---|---|
| 補完候補を表示 | Control + Space |
| 候補やスニペットを確定 | Tab |
| ファイル全体を整形 | Shift + Option + F |
| Command Paletteを開く | Shift + Command + P |
| 次の同じ文字列を選択 | Command + D |
| 行を削除 | Command + Shift + K |
| 行を上下に移動 | Option + ↑ / ↓ |
| 行を複製 | Shift + Option + ↑ / ↓ |
| 行をコピー | Command + C |
| 行を切り取り | Command + X |
| 下に新しい行を挿入 | Command + Enter |
| 上に新しい行を挿入 | Command + Shift + Enter |
| 行を選択 | Command + L |
| 元に戻す | Command + Z |
| やり直す | Command + Shift + Z |
| 次のエラーへ移動 | F8 |
| 前のエラーへ移動 | Shift + F8 |
開発効率と学習効率を両立するため、以下の設定をおすすめします。
| 設定 | おすすめ | 理由 |
|---|---|---|
| Auto Save | ON | 保存忘れを防ぐ |
| Format on Save | ON | 保存時にコードを自動整形する |
| Editor: Inline Suggest | OFF(学習中) | AIが勝手に続きを入力しないようにする |
| Suggest On Trigger Characters | ON | . や < を入力したときに補完候補を表示する |
| Tab Size | 4 | PHP・JavaScriptとも一般的な設定 |
| Insert Spaces | ON | タブ文字ではなくスペースでインデントする |
| Word Wrap | ON | 長い行を折り返して表示する |
| Minimap | OFF | 画面を広く使える |
| Breadcrumbs | ON | 現在のファイル位置が分かりやすい |
| Sticky Scroll | ON | 長いファイルでも現在位置を把握しやすい |
Gutenberg、React、PHPなどを学習している間は、AIがコードを先回りして生成するよりも、自分で入力しながら理解する方が知識が定着しやすくなります。
そのため、次の設定をおすすめします。
この設定にすると、自分で考えながらコードを書きつつ、必要なときだけAIのサポートを受けられるため、学習効率が高まります。
開発に慣れてきたら、AIのインライン補完をONにすると入力速度が大幅に向上します。
初心者・学習中は「理解を優先」、実務や個人開発では「効率を優先」という使い分けがおすすめです。
学習中は、AIがコードの続きを自動生成するインライン補完を無効にし、VS Code標準の補完候補だけを利用します。
この設定により、自分でコードを入力しながら構文を覚えつつ、必要な場面では通常の補完候補を利用できます。
settings.json を次のように設定します。
{
"workbench.colorTheme": "Kimbie Dark",
"python.analysis.autoSearchPaths": false,
"workbench.startupEditor": "none",
"editor.inlineSuggest.enabled": false,
"editor.quickSuggestions": {
"other": "on",
"comments": "off",
"strings": "off"
},
"editor.suggestOnTriggerCharacters": true
}
| 設定 | 値 | 内容 |
|---|---|---|
editor.inlineSuggest.enabled |
false |
AIによるインライン補完を無効にする |
editor.quickSuggestions.other |
on |
通常のコード入力中に補完候補を表示する |
editor.quickSuggestions.comments |
off |
コメント内では補完候補を自動表示しない |
editor.quickSuggestions.strings |
off |
文字列内では補完候補を自動表示しない |
editor.suggestOnTriggerCharacters |
true |
. などの特定文字を入力したときに候補を表示する |
入力位置の右側に、薄いグレーの文字でコードの続きを表示します。
入力中のコード 薄いグレーの提案
通常は Tab を押すと提案を採用します。
学習中は、意図せず長いコードを採用してしまったり、括弧やセミコロンの対応が崩れたりすることがあるため、無効にします。
"editor.inlineSuggest.enabled": false
関数名、変数名、プロパティ名などを候補一覧として表示します。
例えばPHPで次のように入力します。
esc_
候補には次のような関数が表示されます。
esc_html
esc_attr
esc_url
通常補完は、構文や名前を確認しながら入力できるため、学習中も有効にします。
"editor.quickSuggestions": {
"other": "on",
"comments": "off",
"strings": "off"
}
補完候補が自動表示されない場合は、次のショートカットで手動表示できます。
Control + Space
これはVS Codeの Trigger Suggest コマンドです。
| 機能 | 学習中の設定 |
|---|---|
| AIインライン補完 | OFF |
| VS Code標準補完 | ON |
Control + Space による手動補完 |
ON |
| コメント内の自動補完 | OFF |
| 文字列内の自動補完 | OFF |
| ChatGPTやCopilotのチャット | 必要なときだけ利用 |
学習中は、入力速度よりもコード構造の理解を優先します。
開発に慣れて入力効率を優先したくなった場合は、次の設定を true に戻すことでインライン補完を再び利用できます。
"editor.inlineSuggest.enabled": true
VS Codeを使った入力では、次の役割分担を意識します。
コードの意図と構造は自分で考え、機械的な作業はVS Codeに任せます。
これが、理解を深めながら入力ミスを減らすための基本的なお作法です。