Contents
インライン提案

VSCodeで編集してたら print(1+2) の下の行に勝手に print(3+4) がうすく表示されていました。Delでも消えないのですが?
ありますあります、それ 😊
VS Code の「ゴーストテキスト(インライン提案)」が出ている状態です。
AI/補完機能が「次に書きそうなコード」を予測して出しているのです。
結論から言うと:
不採用(消す)
Esc
これで その場の薄い文字だけ消えます。
採用する場合
Tab
押すと、実コードとして確定します。
なぜ薄い print(3+4) が勝手に出るの?
これは 実際のコードではありません。
VS Code が「あ、次はこう書きたいんじゃない?」と予測して薄く表示している提案です。
主な正体はこのどれか👇
Copilot
IntelliSense(コード補完)
Python 拡張の補完機能
print(1+2) を書いたので
👉「次も計算式の print だろう」と推測して
print(3+4) を出した、というわけです。
もう出したくない場合(恒久対策)
方法A:Copilot を使っている場合
左の拡張機能(四角いアイコン)
GitHub Copilot
無効化(Disable)
方法B:インライン補完をオフにする(おすすめ)
設定画面を開く
Ctrl + ,
検索欄に:inline suggest
「Editor: Inline Suggest」
→ チェックを外す ❌
これで 薄い文字は一切出なくなります。
なぜ「なかなか消えなかった」のか?
これはバグではなく仕様で、
Backspace → 消えない
Delete → 消えない
なぜなら「まだ入力されていない文字」だからです。
だから
👉 Esc でキャンセル
👉 Tab で採用
この2択しかありません。
初心者のうちはオフでOK?
👉 今はオフで全然OKです。むしろその方が理解が深まります。
補完は、文法に慣れてから「楽をしたい」と思った時で十分です。
オートインデント

for i in range(3):を入力してEnterを押したら自動的にインデントが入りました。なぜ勝手に入るのですか?
VS Code は : を見た瞬間にこう判断します👇
「あ、次の行は字下げ必須だな」
その結果…Enter を押す
自動で スペース4つ分 入る
これは 親切機能です(勝手にやってるわけではありません)
for i in range(3):
print(i)
↑ オートインデントが入ります
理由
Python では、
「:(コロン)」の次は必ずインデントされたブロック
というルールがあるからです。
対象になる構文
以下は全部「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では超頻出
まとめ
オートインデント
Pythonの文法を守るため
: の次で自動発動
敵ではなく味方
操作チート表
操作 効果
Enter 次の行へ+自動インデント
Shift + Tab インデント戻す
Tab インデント増やす
Backspace 1段削る