2.3 Visual Studio Code の使い方(詳細)

ターミナルの表示/非表示

VS Codeでターミナルの表示/非表示

正しくは 「Ctrl + (バッククォート)`」ですが、日本語キーボードの環境では 「Ctrl + @」が正しく動作しています。

なぜ「Ctrl + @」で動くのか?

これは キーボード配列とOS設定の違いによるものです。

日本語キーボード(JIS配列)では

@ と `(バッククォート)が
同じキーに割り当てられている 場合があります

表示は「@」でも、
VS Code には「`(バッククォート)」として認識されている

👉 そのため
Ctrl + @ = Ctrl + ` と同じ動作になります。

つまり何が起きているかというと

見た目 実際のキーコード 結果
Ctrl + @ Ctrl + ` ターミナル表示
Ctrl + ` Ctrl + ` ターミナル表示

VS Code 側は
👉 キーの「印字」ではなく「物理キー位置」を見ています

どちらが正しいの?

👉 **「自分の環境で動く方が正解」**です。

あなたのキーボード
→ Ctrl + @ が正解

別の人のキーボード
→ Ctrl + ` になることもある

これは バグでも設定ミスでもありません。

確認したい場合(上級)

VS Code でCtrl + Shift + P→

Keyboard Shortcuts (JSON)

ここで
toggle terminal を見ると
実際に割り当てられているキーが確認できます。

まとめ(安心ポイント)

Ctrl + @ でターミナルが開く → 正常

日本語キーボードではよくある挙動

VS Code は「キー配置基準」で動く

無理に直す必要なし

黄色の四角い枠で囲まれた文字(編集時)

編集中にprint(‘こんにちは、Python!’)の!が黄色の四角い枠で囲まれていました。何の意味ですか?
結論から言うと――

👉 エラーではありません。Pythonの警告でもありません。

黄色い四角い枠「!」の正体

これは VS Code の表示補助(Unicode / 全角・記号の可視化) です。

今回の場合
print(‘こんにちは、Python!’)
この 「!」 が

黄色い四角い枠で囲まれていた

カーソルを近づけると強調される

という状態なら、ほぼ間違いなく👇

原因:全角ビックリマーク(!)

実はこの「!」、半角 ! ではなく 全角 ! になっています。

種類 見た目 中身
半角 ! ASCII
全角 ! Unicode

Pythonでは 文字列の中なので問題なし
👉 でも エディタが「注意してね」と教えてくれている

なぜVS Codeは強調表示するの?

理由はこれです👇

全角記号はコード中で使うとバグの原因になりやすい
特にファイル名、演算子、変数名
に入ると見た目は同じで動かないことがある

なので VS Code は「これ、Unicode文字だよ」と教えてくれています。

確認方法(超かんたん)

① カーソルを「!」に乗せる
② 右下 or ツールチップを見る

表示例:Fullwidth Exclamation Mark (U+FF01)

消したい場合(おすすめ)

半角に打ち直す
! を削除
半角 ! を入力

print(‘こんにちは、Python!’)

これで黄色枠は消えます 👍

表示自体を消したい場合(上級)

VS Code 設定で:

editor.unicodeHighlight.nonBasicASCII を false

ただし
👉 初心者のうちは ON 推奨
(トラブル予防になります)

重要ポイント

✅ 実行エラーではない

✅ Python的にも問題なし

⚠ 将来バグの種になる可能性がある

🧠 VS Codeの「親切警告」

もし今後、変数名が動かないファイル名があるのに見つからない…みたいなときは
全角文字チェックを思い出してください

編集時の「インライン提案」

VSCodeで編集してたら print(1+2) の下の行に勝手に print(3+4) がうすく表示されていました。なかなか消せなかったが、取り消す方法は?なぜこんな補助が出るのか?

ありますあります、それ 😊
VS Code の「ゴーストテキスト(インライン提案)」が出ている状態です。

結論から言うと:
消し方:Esc キー

原因:AI/補完機能が「次に書きそうなコード」を予測して出している

なぜ薄い print(3+4) が勝手に出るの?

これは 実際のコードではありません。
VS Code が「あ、次はこう書きたいんじゃない?」と予測して薄く表示している提案です。

主な正体はこのどれか👇

Copilot
IntelliSense(コード補完)
Python 拡張の補完機能

print(1+2) を書いたので
👉「次も計算式の print だろう」と推測して
print(3+4) を出した、というわけです。

今すぐ消す方法(超重要)

一時的に消す
Esc
これで その場の薄い文字だけ消えます。

採用する場合
Tab
押すと、実コードとして確定します。

もう出したくない場合(恒久対策)

方法A:Copilot を使っている場合

左の拡張機能(四角いアイコン)
GitHub Copilot
無効化(Disable)

方法B:インライン補完をオフにする(おすすめ)

設定画面を開く
Ctrl + ,
検索欄に:inline suggest

「Editor: Inline Suggest」
→ チェックを外す ❌

これで 薄い文字は一切出なくなります。

なぜ「なかなか消えなかった」のか?

これはバグではなく仕様で、

Backspace → 消えない

Delete → 消えない

なぜなら「まだ入力されていない文字」だからです。

だから
👉 Esc でキャンセル
👉 Tab で採用

この2択しかありません。

初心者のうちはオフでOK?

👉 今はオフで全然OKです。むしろその方が理解が深まります。
補完は、文法に慣れてから「楽をしたい」と思った時で十分です。

まとめ

状態 操作
薄い文字を消したい Esc
そのまま使いたい Tab
もう出したくない Inline Suggest をオフ

オートインデント

オートインデントはなぜ勝手に入るのか?

for i in range(3):
print(i)

理由(核心)

Python では、

「:(コロン)」の次は必ずインデントされたブロック

というルールがあるからです。

VS Code は
: を見た瞬間にこう判断します👇
「あ、次の行は字下げ必須だな」
その結果…Enter を押す
自動で スペース4つ分 入る

これは 親切機能です(勝手にやってるわけではない)。

対象になる構文
以下は全部「Enter → 自動インデント」されます。

if 条件:
for i in range(3):
while 条件:
def func():
class A:

Enter を押したら勝手にインデントされる仕組み

実際に起きていること

VS Code は裏でこうしています:

今の行を解析

Python文法的に「ブロック開始」か判断

次の行に 適切なインデントを自動挿入

つまり
👉 Python専用の文法理解 + エディタの機能
の合わせ技です。

Enter 後にインデントを戻したいとき

方法①:Backspace

for i in range(3):
▮←ここでBackspace

方法②:Shift + Tab(おすすめ)
インデントを 1段戻す
Pythonでは超頻出

オートインデントが邪魔なとき(制御方法)

方法A:一時的に無視する

Enter → Shift + Tab

方法B:自動インデントをオフ(非推奨だが可能)

設定画面

Ctrl + ,

検索:
auto indent

設定項目:
Editor: Auto Indent

Full → None

⚠️ Pythonでは 基本ON推奨
OFFにすると逆にミスが増えます。

よくある混乱ポイント(超重要)

Q. インデントがズレると何が起きる?

👉 エラーになる

for i in range(3):

print(i) # ← エラー

エラー例:

IndentationError: expected an indented block

Q. スペースとTabが混ざると?

👉 最悪の地雷

VS Codeでは スペース4つに統一が安全。

設定確認:右下 → Spaces: 4

まとめ(ここだけ覚えればOK)

オートインデント

Pythonの文法を守るため

: の次で自動発動

敵ではなく味方

操作チート表

操作 効果
Enter 次の行へ+自動インデント
Shift + Tab インデント戻す
Tab インデント増やす
Backspace 1段削る

コメント