Python:VSCodeでコードが書きやすくなるショートカットキー(Tab, Ctrl+[ ], Ctrl+/, Alt+左クリック, Ctrl+D)
音声
目次
基本と今回できること
今回できるようになることは、VSCodeでPythonコードを書く際に、編集・整形・複数選択で生産性を上げるショートカットを使いこなせるようになることです。
Pythonは文法がシンプルで可読性が高い言語です。インデントが構文の一部としてブロックを表す点を意識すると、編集時のミスを減らしやすいです。
VSCodeは拡張機能(Language Server)により補完やエラー表示をしてくれます。ここでは、Tab(インデント・補完)、Ctrl+[ / Ctrl+](インデント移動)、Ctrl+/(行コメント切替)、Alt+左クリック(複数カーソル)、Ctrl+D(選択語の次を選択)を実例で説明します。
最初は慣れが必要ですが、数回使うとマウスより速く編集できる場面が増えます。
ショートカット実例と最小コード
最小コードは次のとおりです。
# sample.py: 簡単なデータ処理と表示
def summarize(nums):
total = sum(nums)
count = len(nums)
return {"total": total, "count": count, "avg": total / count if count else 0}
if __name__ == "__main__":
data = [10, 20, 30, 40]
res = summarize(data)
print(f"合計: {res['total']}, 件数: {res['count']}, 平均: {res['avg']:.1f}")
このコードはリストの合計・件数・平均を辞書で返して表示します。
編集時はTabでインデントを補完し、Ctrl+/で行コメントに切り替えできます。Alt+左クリックで複数行を同時編集でき、Ctrl+Dで同じ変数名を順に選択して一括変更できます。
出力例は次のとおりです。
合計: 100, 件数: 4, 平均: 25.0
実行とデバッグの見方(確認方法)
実行方法は、ターミナルで python sample.py を実行するか、VSCodeの「Run Python File」ボタンで実行します。
実行コマンド例は次のとおりです。
python sample.py
確認方法は、途中の値を確かめたい箇所に print(res) や print(type(res)) を入れて結果を観察します。
デバッグではブレークポイントを置き、VSCodeの「変数ビュー」で値を確認できます。簡単な切り分けは print で行い、細かい追跡はデバッガのステップ実行と変数ウォッチを使うと把握しやすいです。
ログを残したい場合は、標準のloggingを使うと出力が整理しやすいです。
使い分けの基準とよくあるミス
使い分けの基準は次のとおりです。
- 小さな置換や同名変数の変更は Ctrl+D が速いです。
- 複数箇所を同時編集して同じ変更を加えるなら Alt+左クリック の複数カーソルが便利です。
- コード整形(インデント移動)は Ctrl+[ / Ctrl+] を使うと安定してずれません。
コメントの切り替えは Ctrl+/ を使うと素早くオンオフできます。
避けたい例として、変数名を Ctrl+D で選択しているつもりでも意図しない部分まで選ばれてしまい、結果として変数が壊れることがあります。
この場合は Undo(Ctrl+Z)で戻してから選択範囲を見直し、個別編集に切り替えるか、正規表現置換を使う方針に変えると安全です。
SyntaxError(インデント混在など)が出る場合は、タブとスペースが混じっている可能性が高いです。
エディタの表示で空白を可視化し、タブかスペースのどちらかに統一すると解決しやすいです。
注意(ここだけ)
VSCodeの複数カーソルや一括置換は強力ですが、プロジェクト全体での置換は取り返しがつかないことがあります。コミット前には必ず変更差分を確認してください。
- 差分の確認は、次のコマンドで行えます。
git diff
要約
- VSCodeのショートカットを使うと、インデント調整やコメント化、複数箇所の同時編集が速くなります。
- 最小のコード例でTabやCtrl+/などを実際に試すと、効果を実感しやすいです。
- 実行は
のように行い、デバッグはprintでの確認かVSCodeのデバッガが有効です。python file.py - 使い分けの基準を理解して、誤置換やインデントの混在を避けるのがポイントです。
- 変更はコミット前に差分を確認し、必要に応じて自動整形のルールをチームで統一すると運用しやすいです。