Skip to content

VS Codeの自動インデント(自動整形)ショートカット

問題の概要

Visual Studio Code(VSCode)を使用している際、コードのインデントが適切に揃わず、手動での修正に手間がかかることがあります。特にC++やPythonなど複数の言語を扱う場合、効率的な自動インデント機能を活用したいというニーズがあります。

主要な解決策

1. キーボードショートカットによる自動インデント

VSCodeには標準でコードの自動整形を行うショートカットが用意されています:

bash
Shift + Alt + F
bash
Shift + Option + F
bash
Ctrl + Shift + I

TIP

ショートカットが動作しない場合は、キーボードレイアウトや既存のキーバインディング設定を確認してください。Ctrl+Shift+P → "Keyboard Shortcuts"で検索して設定を変更できます。

2. 設定による自動インデントの有効化

より恒常的な自動インデントを希望する場合は、設定を変更することで対応可能です:

  1. Ctrl+Shift+P(コマンドパレットを開く)
  2. "Preferences: Open User Settings"を選択
  3. 設定検索ボックスに"indent"と入力
  4. "Editor: Auto Indent"項目で"full"を選択

この設定により、ファイル保存時やペースト時などに自動的にインデントが適用されます。

3. 拡張機能による高度なフォーマット

言語特有の高度なフォーマットが必要な場合は、以下の拡張機能の導入をおすすめします:

  • Python: Python拡張機能(Microsoft公式)またはautopep8
  • C++: C/C++拡張機能(Microsoft公式)またはClang-Format
  • 汎用: Prettier(多言語対応のフォーマッタ)

WARNING

拡張機能をインストールする場合は、信頼できるソースからのみダウンロードし、必要な権限を確認してください。

実践的な使用例

設定ファイルによるカスタマイズ

settings.jsonに以下の設定を追加することで、より細かい制御が可能です:

json
{
  "editor.formatOnSave": true,
  "editor.formatOnPaste": true,
  "editor.formatOnType": true,
  "editor.autoIndent": "full"
}

言語別のフォーマット設定

特定の言語に対してのみ自動フォーマットを有効にするには:

json
{
  "[python]": {
    "editor.defaultFormatter": "ms-python.python",
    "editor.formatOnSave": true
  },
  "[cpp]": {
    "editor.defaultFormatter": "ms-vscode.cpptools",
    "editor.formatOnSave": true
  }
}

トラブルシューティング

自動インデントが機能しない場合の確認ポイント:

  1. 言語モードが正しく認識されているか(右下の言語表示を確認)
  2. 必要な拡張機能がインストールされ有効化されているか
  3. ワークスペース設定がユーザー設定を上書きしていないか
詳細な設定確認方法

Ctrl+Shift+P → "Developer: Inspect Editor Tokens and Scopes"で現在のエディタ状態を確認できます。これにより、どの設定が適用されているか詳細に調査可能です。

まとめ

VSCodeでは標準のショートカットShift + Alt + F(macOS: Shift + Option + F)でコードの自動インデントが実行できます。さらに設定や拡張機能を活用することで、より効率的なコーディング環境を構築可能です。プロジェクトやチームのコーディング規約に合わせて、最適なフォーマット設定を見つけてください。