VS Codeの自動インデント(自動整形)ショートカット
問題の概要
Visual Studio Code(VSCode)を使用している際、コードのインデントが適切に揃わず、手動での修正に手間がかかることがあります。特にC++やPythonなど複数の言語を扱う場合、効率的な自動インデント機能を活用したいというニーズがあります。
主要な解決策
1. キーボードショートカットによる自動インデント
VSCodeには標準でコードの自動整形を行うショートカットが用意されています:
Shift + Alt + F
Shift + Option + F
Ctrl + Shift + I
TIP
ショートカットが動作しない場合は、キーボードレイアウトや既存のキーバインディング設定を確認してください。Ctrl+Shift+P
→ "Keyboard Shortcuts"で検索して設定を変更できます。
2. 設定による自動インデントの有効化
より恒常的な自動インデントを希望する場合は、設定を変更することで対応可能です:
Ctrl+Shift+P
(コマンドパレットを開く)- "Preferences: Open User Settings"を選択
- 設定検索ボックスに"indent"と入力
- "Editor: Auto Indent"項目で"full"を選択
この設定により、ファイル保存時やペースト時などに自動的にインデントが適用されます。
3. 拡張機能による高度なフォーマット
言語特有の高度なフォーマットが必要な場合は、以下の拡張機能の導入をおすすめします:
- Python: Python拡張機能(Microsoft公式)またはautopep8
- C++: C/C++拡張機能(Microsoft公式)またはClang-Format
- 汎用: Prettier(多言語対応のフォーマッタ)
WARNING
拡張機能をインストールする場合は、信頼できるソースからのみダウンロードし、必要な権限を確認してください。
実践的な使用例
設定ファイルによるカスタマイズ
settings.json
に以下の設定を追加することで、より細かい制御が可能です:
{
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.formatOnType": true,
"editor.autoIndent": "full"
}
言語別のフォーマット設定
特定の言語に対してのみ自動フォーマットを有効にするには:
{
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.formatOnSave": true
},
"[cpp]": {
"editor.defaultFormatter": "ms-vscode.cpptools",
"editor.formatOnSave": true
}
}
トラブルシューティング
自動インデントが機能しない場合の確認ポイント:
- 言語モードが正しく認識されているか(右下の言語表示を確認)
- 必要な拡張機能がインストールされ有効化されているか
- ワークスペース設定がユーザー設定を上書きしていないか
詳細な設定確認方法
Ctrl+Shift+P
→ "Developer: Inspect Editor Tokens and Scopes"で現在のエディタ状態を確認できます。これにより、どの設定が適用されているか詳細に調査可能です。
まとめ
VSCodeでは標準のショートカットShift + Alt + F
(macOS: Shift + Option + F
)でコードの自動インデントが実行できます。さらに設定や拡張機能を活用することで、より効率的なコーディング環境を構築可能です。プロジェクトやチームのコーディング規約に合わせて、最適なフォーマット設定を見つけてください。