VS Code言語モード変更ショートカット完全ガイド|効率的な操作方法

プログラミング・IT

「VS Codeで新しいファイルを作成したけど、シンタックスハイライトが効かない…」「JSONをコピペしたのに、フォーマットができない…」

こんな経験、ありませんか?

Visual Studio Code(VS Code)で快適にコーディングするには、言語モードを正しく設定することが重要です。しかし、毎回マウスで操作するのは面倒ですよね。

本記事では、VS Codeの言語モードを素早く変更するためのショートカットキーと、関連する便利な設定方法を詳しく解説します。初心者の方でも理解できるよう、画面の見方から応用的な設定まで、順を追って説明していきます。

作業効率を上げたい方、VS Codeをもっと使いこなしたい方は、ぜひ最後まで読んでみてください。

スポンサーリンク
  1. 言語モードとは
    1. 基本的な説明
    2. 言語モードが自動設定される条件
    3. 言語モードが設定されない場合
  2. 言語モード変更の基本操作
    1. 方法1:ステータスバーから変更(マウス操作)
    2. 方法2:デフォルトショートカット(キーボード操作)
    3. 方法3:コマンドパレットから変更
  3. カスタムショートカットの設定
    1. カスタムショートカットの設定手順
    2. おすすめのカスタムショートカット
    3. keybindings.jsonで直接編集
  4. デフォルト言語モードの設定
    1. 設定方法
    2. 主な言語識別子一覧
    3. 言語識別子の確認方法
    4. デフォルト言語モードの使用例
  5. ファイル拡張子との関連付け
    1. 拡張子関連付けの設定方法
    2. settings.jsonで直接設定
    3. 関連付けの具体例
  6. 言語の自動検出機能
    1. 自動検出の仕組み
    2. 自動検出を無効化する方法
    3. settings.jsonで設定
  7. 特定言語モードへの直接変更
    1. Commands拡張機能を使用
    2. 複数の言語用ショートカット
  8. よくあるトラブルと解決方法
    1. トラブル1:ショートカットが動作しない
    2. トラブル2:言語モードを変更してもフォーマットが効かない
    3. トラブル3:デフォルト言語モードが反映されない
    4. トラブル4:ファイル保存後に言語モードが変わってしまう
    5. トラブル5:コマンドパレットで言語モード変更が見つからない
  9. 実用的な使用例
    1. 使用例1:JSONのフォーマット
    2. 使用例2:ログファイルの確認
    3. 使用例3:コードスニペットのメモ
    4. 使用例4:Markdownでのメモ作成
    5. 使用例5:設定ファイルの編集
  10. まとめ

言語モードとは

基本的な説明

言語モード(Language Mode)とは、VS Codeがファイルの内容をどの言語として認識するかを示す設定です。

正式には「言語識別子」(Language Identifier)と呼ばれます。

言語モードが設定されると

  • シンタックスハイライト(コードの色分け表示)が有効になる
  • その言語に応じたコード補完が動作する
  • フォーマット機能が正しく動作する
  • 言語固有の拡張機能が有効になる

言語モードの表示場所

VS Codeの画面右下、ステータスバーに現在の言語モードが表示されています。

例えば:

  • JavaScript
  • Python
  • Markdown
  • JSON
  • プレーンテキスト(言語が設定されていない状態)

言語モードが自動設定される条件

ファイル保存時

ファイルを保存すると、拡張子から言語モードが自動的に判定されます。

例:

  • sample.js → JavaScript
  • index.html → HTML
  • style.css → CSS
  • data.json → JSON
  • README.md → Markdown

ファイルを開いた時

既存のファイルを開くと、拡張子から言語モードが自動設定されます。

言語モードが設定されない場合

新規ファイルを作成した直後

未保存のファイルは「プレーンテキスト」として扱われます。

拡張子がない、または未登録の拡張子

VS Codeが認識していない拡張子のファイルは、言語モードが自動設定されません。

コピー&ペーストしたコード

外部からコードをコピーして新しいファイルに貼り付けた場合、保存するまで言語モードは設定されません。

こういった場合に、手動で言語モードを設定する必要があります。

言語モード変更の基本操作

言語モードを変更する方法は3つあります。

方法1:ステータスバーから変更(マウス操作)

最も直感的な方法です。

手順

手順1:VS Codeの画面右下にあるステータスバーを確認します。

手順2:言語モードが表示されている部分(例:「プレーンテキスト」「JavaScript」など)をクリックします。

手順3:画面上部に言語モードの選択メニューが表示されます。

手順4:一覧から目的の言語を選択します。

手順5:選択した言語モードが適用され、シンタックスハイライトが有効になります。

メリット

  • 直感的で分かりやすい
  • 言語の一覧を見ながら選べる

デメリット

  • マウス操作が必要
  • 頻繁に変更する場合は非効率

方法2:デフォルトショートカット(キーボード操作)

これが最も効率的な方法です。

Windows / Linux

Ctrl + K, M

操作手順:

  1. Ctrlキーを押しながらKを押す
  2. キーを離す
  3. Mを押す

Mac

Cmd + K, M

操作手順:

  1. Cmdキーを押しながらKを押す
  2. キーを離す
  3. Mを押す

重要なポイント

Ctrl+K(またはCmd+K)とM別々に押します

同時に押すと動作しません。

正しい操作

  1. CtrlKを同時に押す
  2. 両方のキーを離す
  3. Mを押す

間違った操作

  • Ctrl+K+Mを全部同時に押す(これでは動きません)

ショートカットが動作しない場合

一部の環境では、このショートカットが他の機能と競合することがあります。

詳しくは「よくあるトラブルと解決方法」セクションで解説します。

方法3:コマンドパレットから変更

コマンドパレット経由で変更することもできます。

手順

手順1:コマンドパレットを開きます。

Windows / Linux

Ctrl + Shift + P

Mac

Cmd + Shift + P

手順2:「言語」または「language」と入力します。

手順3:「言語モードの変更」(Change Language Mode)を選択します。

手順4:言語の一覧から目的の言語を選択します。

メリット

  • ショートカットが覚えやすい
  • 他のコマンドパレット操作と統一感がある

デメリット

  • ステップ数が多い
  • 専用ショートカットより時間がかかる

カスタムショートカットの設定

デフォルトのCtrl+K, Mが使いにくい場合、独自のショートカットを設定できます。

カスタムショートカットの設定手順

手順1:コマンドパレットを開く

Ctrl + Shift + P  (Mac: Cmd + Shift + P)

手順2:「Keyboard Shortcuts」を検索

「keyboard」と入力して、「基本設定: キーボード ショートカットを開く」を選択します。

または、メニューから「ファイル」→「基本設定」→「キーボード ショートカット」を選択します。

手順3:「言語モードの変更」を検索

検索ボックスに「言語モード」または「Change Language Mode」と入力します。

手順4:ショートカットを変更

「言語モードの変更」の項目を見つけたら、左側の鉛筆アイコンをクリックします。

手順5:新しいショートカットを入力

任意のキーの組み合わせを押します。

例:

  • Ctrl + Shift + L
  • Ctrl + Alt + L
  • Cmd + Shift + I(Mac)

手順6:Enterで確定

キーの組み合わせを入力したら、Enterキーで確定します。

おすすめのカスタムショートカット

Windows / Linux

Ctrl + Shift + L

理由:他の機能と競合しにくく、「Language」の頭文字で覚えやすい

Mac

Cmd + Shift + I

理由:デフォルトのCmd+K, Mより押しやすい

keybindings.jsonで直接編集

より詳細な設定をしたい場合は、JSONファイルを直接編集できます。

手順

手順1:コマンドパレットを開く

Ctrl + Shift + P

手順2:「keybindings.json」を開く

「Preferences: Open Keyboard Shortcuts (JSON)」を選択します。

手順3:設定を追加

[
  {
    "key": "ctrl+shift+l",
    "command": "workbench.action.editor.changeLanguageMode"
  }
]

Macの場合:

[
  {
    "key": "cmd+shift+i",
    "command": "workbench.action.editor.changeLanguageMode"
  }
]

手順4:ファイルを保存

Ctrl+S(Mac: Cmd+S)で保存します。

デフォルト言語モードの設定

新規ファイルを作成した際に、特定の言語モードをデフォルトで適用できます。

設定方法

手順1:設定画面を開く

Ctrl + ,  (Mac: Cmd + ,)

または、メニューから「ファイル」→「基本設定」→「設定」を選択します。

手順2:「defaultLanguage」を検索

検索ボックスに「defaultLanguage」と入力します。

手順3:言語識別子を入力

「Files: Default Language」の項目に、デフォルトで使用したい言語識別子を入力します。

例:

  • markdown(Markdown)
  • javascript(JavaScript)
  • python(Python)
  • json(JSON)
  • html(HTML)

重要:言語識別子は小文字で入力

大文字で入力すると正しく動作しません。

例:

  • ✓ 正しい:markdown
  • ✗ 間違い:Markdown

主な言語識別子一覧

言語言語識別子
JavaScriptjavascript
TypeScripttypescript
Pythonpython
Javajava
C++cpp
C#csharp
PHPphp
Rubyruby
Gogo
Rustrust
HTMLhtml
CSScss
JSONjson
XMLxml
YAMLyaml
Markdownmarkdown
SQLsql
Shell Scriptshellscript

言語識別子の確認方法

方法1:コマンドパレットから確認

手順1:言語モード変更のショートカットを実行

Ctrl + K, M  (Mac: Cmd + K, M)

手順2:表示される言語一覧で、各言語の横に識別子が表示されます。

方法2:settings.jsonで確認

既に言語モードを設定したファイルを開き、右下のステータスバーを確認すると、現在の言語識別子が分かります。

デフォルト言語モードの使用例

Markdownをデフォルトにする

日記やメモをMarkdownで書く場合に便利です。

設定:

Files: Default Language → markdown

JavaScriptをデフォルトにする

Web開発でJavaScriptを頻繁に使う場合に便利です。

設定:

Files: Default Language → javascript

ファイル拡張子との関連付け

特定の拡張子を特定の言語モードに関連付けることができます。

拡張子関連付けの設定方法

手順1:言語モード選択画面を開く

ステータスバーの言語モード表示部分をクリック、またはショートカットCtrl+K, Mを実行します。

手順2:ファイルの関連付けを構成

言語一覧の一番下に、「’.(拡張子)’ に対するファイルの関連付けの構成」という項目があります。

これをクリックします。

手順3:言語を選択

関連付けたい言語を選択します。

settings.jsonで直接設定

より詳細な設定は、settings.jsonで行えます。

手順1:設定ファイルを開く

Ctrl + ,  (Mac: Cmd + ,)

設定画面右上の「{}」アイコン(設定(JSON)を開く)をクリックします。

手順2:関連付けを追加

{
  "files.associations": {
    "*.inc": "php",
    "*.custom": "javascript",
    "*.conf": "ini",
    "*.log": "plaintext"
  }
}

関連付けの具体例

例1:.incファイルをPHPとして扱う

{
  "files.associations": {
    "*.inc": "php"
  }
}

例2:.envファイルをプロパティファイルとして扱う

{
  "files.associations": {
    ".env": "properties",
    ".env.*": "properties"
  }
}

例3:拡張子なしのファイルをShellスクリプトとして扱う

{
  "files.associations": {
    "Dockerfile*": "dockerfile",
    "Makefile*": "makefile"
  }
}

言語の自動検出機能

VS Code 1.60以降、ファイルの内容から言語を自動検出する機能が追加されました。

自動検出の仕組み

機械学習ベースの検出

TensorFlow.jsとGuesslangモデルを使用して、ファイルの内容から言語を推測します。

対象ファイル

  • 未保存の新規ファイル
  • 拡張子がないファイル

動作タイミング

ファイルにテキストを入力すると、自動的に言語が検出されます。

自動検出を無効化する方法

自動検出が邪魔な場合は、無効にできます。

手順1:設定画面を開く

Ctrl + ,  (Mac: Cmd + ,)

手順2:「Language Detection」を検索

検索ボックスに「language detection」と入力します。

手順3:チェックを外す

「Workbench > Editor: Language Detection」のチェックを外します。

settings.jsonで設定

{
  "workbench.editor.languageDetection": false
}

特定言語モードへの直接変更

特定の言語に直接変更するショートカットを設定することもできます。

Commands拡張機能を使用

手順1:拡張機能をインストール

拡張機能マーケットプレイスで「Commands」を検索してインストールします。

手順2:keybindings.jsonを編集

{
  "key": "alt+s",
  "command": "commands.setEditorLanguage",
  "args": "sql",
  "when": "editorTextFocus"
}

このように設定すると、Alt+SでSQL言語モードに直接変更できます。

複数の言語用ショートカット

[
  {
    "key": "alt+j",
    "command": "commands.setEditorLanguage",
    "args": "json",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+m",
    "command": "commands.setEditorLanguage",
    "args": "markdown",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+p",
    "command": "commands.setEditorLanguage",
    "args": "python",
    "when": "editorTextFocus"
  }
]

よくあるトラブルと解決方法

トラブル1:ショートカットが動作しない

症状

Ctrl+K, Mを押しても言語モード選択画面が表示されない。

原因1:ステータスバーに言語モード表示がない

ステータスバーに言語モードが表示されていないと、ショートカットが動作しないことがあります。

解決方法

手順1:ステータスバーを右クリックします。

手順2:「エディターの言語」にチェックを入れます。

原因2:他のショートカットと競合

Gitの拡張機能など、他の機能がCtrl+Kを使用している場合があります。

解決方法

カスタムショートカットを設定します(前述の「カスタムショートカットの設定」を参照)。

原因3:キーバインドが正しくない

Ctrl+KMを同時に押していませんか?

解決方法

  1. Ctrl+Kを押す
  2. キーを離す
  3. Mを押す

この順序で操作してください。

トラブル2:言語モードを変更してもフォーマットが効かない

症状

言語モードを変更したのに、Shift+Alt+Fでフォーマットできない。

原因

その言語用のフォーマッターがインストールされていない。

解決方法

拡張機能マーケットプレイスから、該当言語のフォーマッター拡張機能をインストールします。

例:

  • Prettier(JavaScript、TypeScript、CSS、HTMLなど)
  • Python(Python)
  • C/C++(C、C++)

トラブル3:デフォルト言語モードが反映されない

症状

files.defaultLanguageを設定したのに、新規ファイルが指定した言語にならない。

原因

言語識別子が間違っている(大文字になっている、スペルミスなど)。

解決方法

言語識別子を小文字で正しく入力してください。

例:

  • ✓ 正しい:markdown
  • ✗ 間違い:MarkdownMarkDown

トラブル4:ファイル保存後に言語モードが変わってしまう

症状

言語モードを設定したのに、保存すると違う言語モードに変わる。

原因

ファイルの拡張子が別の言語に関連付けられている。

解決方法

ファイル拡張子との関連付けを正しく設定します(前述の「ファイル拡張子との関連付け」を参照)。

トラブル5:コマンドパレットで言語モード変更が見つからない

症状

コマンドパレットで「言語モード」と検索しても見つからない。

原因

英語表示になっている、または検索ワードが間違っている。

解決方法

以下のキーワードで検索してください:

  • 日本語:「言語」「言語モード」
  • 英語:「language」「Change Language Mode」

実用的な使用例

使用例1:JSONのフォーマット

コピー&ペーストしたJSONデータを整形する場合。

手順

手順1:新規ファイルを作成(Ctrl+N

手順2:JSONデータを貼り付け

手順3:言語モードをJSONに変更(Ctrl+K, Mjson

手順4:フォーマット実行(Shift+Alt+F

設定しておくと便利なこと

カスタムショートカットで直接JSON言語モードに変更できるようにしておく。

{
  "key": "alt+j",
  "command": "commands.setEditorLanguage",
  "args": "json"
}

使用例2:ログファイルの確認

拡張子が.logのファイルを開く場合。

問題

ログファイルは通常プレーンテキストですが、JSONやXML形式のログを読みやすくしたい。

解決方法

手順1:ログファイルを開く

手順2:内容を確認してフォーマットを判断(JSON、XMLなど)

手順3:言語モードを変更(Ctrl+K, M

手順4:該当する言語(JSON、XMLなど)を選択

恒久的な対策

.logファイルを常にJSONとして扱う場合は、関連付けを設定します。

{
  "files.associations": {
    "*.log": "json"
  }
}

使用例3:コードスニペットのメモ

Slackやドキュメントからコードをコピーしてメモする場合。

手順

手順1:新規ファイル作成(Ctrl+N

手順2:コードを貼り付け

手順3:言語モードを適切に設定(例:Python)

手順4:シンタックスハイライトが有効になり、読みやすくなる

便利な設定

よく使う言語をデフォルト言語モードに設定しておきます。

{
  "files.defaultLanguage": "python"
}

使用例4:Markdownでのメモ作成

日常的にメモをMarkdownで作成する場合。

設定

デフォルト言語モードをMarkdownに設定します。

{
  "files.defaultLanguage": "markdown"
}

効果

新規ファイルを作成すると、自動的にMarkdownモードになり、すぐに書き始められます。

使用例5:設定ファイルの編集

拡張子が特殊な設定ファイルを編集する場合。

例:.envファイル

環境変数ファイル(.env)をプロパティファイルとして扱います。

{
  "files.associations": {
    ".env*": "properties"
  }
}

例:docker-compose.yml

YAMLファイルとして適切に認識されるようにします。

{
  "files.associations": {
    "docker-compose*.yml": "yaml"
  }
}

まとめ

VS Codeの言語モード変更に関する情報をまとめました。

本記事のポイント

  1. 言語モードはシンタックスハイライトやコード補完に必要
  2. 効率的な変更にはショートカットキーが必須
  3. デフォルト言語モードやファイル関連付けで自動化できる

言語モード変更の3つの方法

方法1:ステータスバーから(マウス)

画面右下の言語モード表示部分をクリック

  • メリット:直感的
  • デメリット:マウス操作が必要

方法2:ショートカットキー(推奨)

Windows/Linux: Ctrl + K, M
Mac: Cmd + K, M
  • メリット:最速
  • デメリット:キーの組み合わせを覚える必要がある

方法3:コマンドパレット

Ctrl + Shift + P → "言語モード"
  • メリット:覚えやすい
  • デメリット:ステップ数が多い

便利な設定

カスタムショートカット

デフォルトのCtrl+K, Mが押しにくい場合は、独自のショートカットを設定しましょう。

推奨:Ctrl+Shift+L(Windows/Linux)、Cmd+Shift+I(Mac)

デフォルト言語モード

新規ファイルで頻繁に使う言語を設定します。

{
  "files.defaultLanguage": "markdown"
}

ファイル拡張子の関連付け

特殊な拡張子を適切な言語モードに紐付けます。

{
  "files.associations": {
    "*.inc": "php",
    ".env*": "properties"
  }
}

トラブルシューティング

ショートカットが動作しない

  • ステータスバーに「エディターの言語」表示を有効にする
  • Ctrl+KMを別々に押す(同時押しではない)
  • カスタムショートカットを設定する

フォーマットが効かない

  • 該当言語のフォーマッター拡張機能をインストールする

デフォルト言語モードが反映されない

  • 言語識別子を小文字で正しく入力する

実用的な活用例

  • JSONデータのコピー&ペーストを即座にフォーマット
  • ログファイルを適切な言語モードで見やすく表示
  • Markdownメモをデフォルト言語モードで効率化
  • 特殊な拡張子の設定ファイルを適切に編集

最後に

言語モードの変更は、VS Codeを使う上で頻繁に行う操作です。

ショートカットキーを覚えることで、作業効率が大幅に向上します。特にデフォルトのCtrl+K, Mが押しにくい場合は、自分に合ったカスタムショートカットを設定することをおすすめします。

また、よく使う言語のデフォルト設定や、ファイル拡張子の関連付けを適切に設定しておけば、言語モードを手動で変更する頻度自体を減らすことができます。

本記事で紹介した方法を活用して、より快適なVS Codeライフを送ってください!

コメント

タイトルとURLをコピーしました