VSCodeで日本語入力がおかしいときの原因と対処法

採用はこちら

目次

VSCodeで日本語入力がおかしいときに考えられる原因

VSCodeを使っていると、日本語入力が突然できなくなったり、変換中に意図しない操作が実行されたりすることがあります。

日本語入力のトラブルは、VSCode本体だけが原因とは限りません。

WindowsやmacOS、Linux側のIME、VSCodeの拡張機能、キーバインド、統合ターミナル、Electronの動作など、さまざまな要因が関係する可能性があります。

そのため、やみくもに設定を変更するのではなく、どこで問題が発生しているのかを順番に切り分けることが重要です。

よくある日本語入力の症状

VSCodeで発生しやすい日本語入力のトラブルには、次のようなものがあります。

  • 日本語入力に切り替えられない
  • 「半角/全角」キーを押しても反応しない
  • ひらがなは入力できるが漢字変換がおかしい
  • Enterキーで変換を確定すると別の処理まで実行される
  • Spaceキーを押すと意図しないショートカットが動く
  • 入力した文字が二重に表示される
  • 変換途中でカーソルが移動する
  • 変換候補ウィンドウの位置がおかしい
  • エディターでは入力できるがターミナルでは入力できない
  • VSCodeをアップデートしてから日本語入力がおかしくなった

症状によって原因は異なります。

まずは、「VSCodeだけで発生しているのか」「パソコン全体で発生しているのか」を確認すると原因を絞り込みやすくなります。

最初にVSCode以外で日本語入力できるか確認する

最初に、メモ帳やWord、ブラウザなどで日本語入力できるか確認しましょう。

ほかのアプリでは正常に日本語入力できるのにVSCodeだけで問題が起きる場合は、VSCode本体や拡張機能、設定などが関係している可能性があります。

一方、ほかのアプリでも日本語入力できない場合は、VSCodeではなくOSやIME側の問題を疑った方がよいでしょう。

VSCodeでは日本語IMEの入力動作が公式のテスト対象になっており、文字入力やSpaceキーによる変換、Enterキーによる確定なども確認されています。

そのため、通常の環境で日本語入力ができない場合は、何らかの設定や環境依存の問題が発生している可能性があります。

VSCodeを完全に再起動する

一時的な不具合であれば、VSCodeを再起動するだけで改善することがあります。

単にウィンドウを閉じるだけではなく、VSCodeを完全に終了してから再度起動してください。

WindowsではCode.exeが残っていないか確認する

Windowsの場合は、タスクマネージャーを開いて、VSCodeのプロセスが残っていないか確認できます。

「Visual Studio Code」や「Code.exe」が残っている場合は、終了してからVSCodeを再起動します。

それでも改善しない場合は、Windows自体の再起動も試してみましょう。

WindowsではMicrosoft IMEの状態を確認する

Windowsを利用している場合、日本語入力のトラブルではMicrosoft IMEの状態を確認することが重要です。

WindowsキーとSpaceキーで入力言語を確認する

Windowsでは、次のショートカットで入力言語を切り替えられます。

Windowsキー + Space

日本語入力を使用する場合は、Microsoft IMEが選択されていることを確認してください。

英語キーボードなどが選択されていると、日本語入力へ切り替えられません。

「A」ではなく「あ」になっているか確認する

Microsoft IMEが選択されていても、タスクバーに「A」と表示されている場合は半角英数字入力になっています。

日本語を入力したい場合は、「あ」の状態に切り替えてください。

VSCodeだけの問題に見えても、実際にはIMEが英数字入力へ切り替わっていただけという場合もあります。

Windows全体でIMEがおかしい場合はサービスを確認する

VSCodeだけでなく、ほかのアプリでも日本語入力できない場合は、Windows側のIME関連サービスに問題が発生している可能性があります。

特に、入力言語を切り替えられない場合は「Text Input Management Service」を確認する価値があります。

Text Input Management Serviceを確認する

WindowsキーとRキーを押し、次のコマンドを入力します。

services.msc

サービス一覧から「Text Input Management Service」を探します。

古いWindows環境では「Touch Keyboard and Handwriting Panel Service」という名称の場合があります。

このサービスが無効になっていると、IME関連の機能が正常に初期化されないことがあります。

スタートアップの種類が「無効」になっている場合は、「手動」または「自動」へ変更して動作を確認します。

ただし、VSCodeだけで日本語入力がおかしい場合に、最初からこの設定を変更する必要はありません。

Windows全体でIMEがおかしい場合に確認する項目と考えるとよいでしょう。

拡張機能を無効化して確認する

VSCodeだけで日本語入力がおかしい場合は、拡張機能が影響している可能性があります。

特に、次のような拡張機能はキーボード操作や入力処理に関係することがあります。

  • Vim系
  • Emacs系
  • AIコーディング支援
  • 入力補完
  • スニペット
  • キーバインド変更
  • Markdown編集支援
  • ターミナル操作関連

コマンドラインからすべての拡張機能を無効化する

VSCodeには、拡張機能を無効化した状態で起動するためのオプションがあります。

code --disable-extensions

この状態で日本語入力が正常になる場合は、何らかの拡張機能が影響している可能性が高くなります。

原因を特定する場合は、拡張機能を一つずつ有効に戻して確認します。

Command Paletteから無効化する

Command Paletteから「Disable All Installed Extensions」を実行して、インストール済みの拡張機能を無効化する方法もあります。

ただし、トラブルの一時的な切り分けであれば、code --disable-extensionsを使用した方が元の環境を変更せずに確認しやすいでしょう。

Temporary ProfileやEmpty Profileで確認する

拡張機能だけでなく、settings.jsonやキーバインドなどの設定も含めて切り分けたい場合は、VSCodeのProfile機能を利用すると便利です。

Empty Profileとは

Empty Profileは、設定や拡張機能などをほとんど含まない状態でVSCodeを利用できるProfileです。

元の環境では日本語入力がおかしいのに、Empty Profileでは正常に入力できる場合は、元のProfileに含まれる設定や拡張機能が影響している可能性があります。

Temporary Profileも便利

一時的な切り分けでは、Temporary Profileも利用できます。

Temporary Profileは空のProfileとして開始され、終了後に削除されるため、トラブルシューティングに向いています。

VSCodeを再インストールする前に、Temporary ProfileやEmpty Profileで確認した方が効率的です。

キーバインドの競合を確認する

日本語IMEでは、EnterキーやSpaceキー、Ctrlキーなどを頻繁に使用します。

これらのキーに独自のショートカットが割り当てられていると、日本語変換の操作とVSCodeのコマンドが競合することがあります。

Enterキーで別操作が実行される場合

日本語入力では、一般的に次の流れで操作します。

文字入力
↓
Spaceで変換
↓
Enterで確定

通常は、IMEの変換確定中にEnterキーを押しても、VSCode側で余計な処理が実行されないようになっています。

しかし、特定の入力欄や特定バージョンでは、Enterによる変換確定と別操作が同時に実行される不具合が発生する場合があります。

実際にVSCodeでは、Markdownの特定の入力欄で、日本語IMEの変換確定時にEnterを押すとコメント送信まで実行される不具合が報告された事例があります。

ただし、これはVSCode全体で必ず発生する問題ではありません。

特定の環境や入力欄で発生する不具合事例として考えるのが適切です。

Keyboard Shortcutsを確認する

キーバインドは次のショートカットで確認できます。

Ctrl + K
Ctrl + S

EnterやSpaceなどを検索し、意図しないショートカットが設定されていないか確認してください。

Vim系やEmacs系などの拡張機能を使用している場合は、特に確認しておくとよいでしょう。

ネット上のsettings.json設定を安易に追加しない

日本語入力のトラブルを検索すると、settings.jsonへ特定の設定を追加する方法が紹介されていることがあります。

ただし、過去のVSCodeやElectron向けの回避策が、現在のバージョンでも有効とは限りません。

特定のIssueでのみ有効だった設定が、一般的な日本語IME対策として紹介されていることもあります。

そのため、原因が分からない状態で設定を大量に変更するよりも、まずは拡張機能を無効化したり、Empty Profileで確認したりする方が安全です。

エディターとターミナルを分けて確認する

VSCodeでは、通常のエディターと統合ターミナルで入力処理が異なります。

そのため、「VSCodeで日本語入力がおかしい」と感じた場合でも、実際には統合ターミナルだけで問題が発生していることがあります。

エディターでは正常でターミナルだけおかしい場合

エディターでは問題なく日本語入力できるのに、統合ターミナルだけ入力がおかしい場合は、次のような環境を確認します。

  • PowerShell
  • コマンドプロンプト
  • WSL
  • Git Bash
  • bash
  • zsh

利用しているシェルによって日本語入力の挙動が異なることがあります。

この場合は、VSCode全体のIME問題ではなく、統合ターミナルやシェル側に原因がある可能性があります。

VSCodeを最新版に更新する

VSCode側の不具合がアップデートによって修正されることもあります。

そのため、古いバージョンを使用している場合は最新版へ更新して動作を確認するのも有効です。

ただし、反対にアップデート直後から日本語入力がおかしくなるケースもあります。

アップデート直後に発生した場合

アップデートする前は正常だったのに、更新後から不具合が発生した場合は、VSCode本体やElectronの変更による影響も考えられます。

その場合は、VSCodeのバージョン、OSのバージョン、使用しているIMEなどを記録しておくと原因を調べやすくなります。

Linuxではfcitx5やIBus、Waylandを確認する

Linuxでは、日本語入力の構成がWindowsやmacOSより複雑になる場合があります。

日本語入力には、fcitx5やIBus、Mozcなどが使われることがあります。

さらに、WaylandとX11の違いも影響する場合があります。

fcitx5環境では個別の不具合事例がある

特定のWayland、fcitx5、Mozc環境では、VSCodeをアップデートした後に日本語入力できなくなった事例が報告されています。

その環境では、次のように起動することで改善したという報告があります。

GTK_IM_MODULE=fcitx code

ただし、これはLinuxユーザー全員に推奨される標準設定ではありません。

特定環境で報告された回避策であり、fcitx5を利用している場合の確認方法の一つとして考えるべきです。

WaylandとX11で動作を比較する

Wayland環境でのみ問題が発生する場合は、X11環境でも同じ症状が発生するか確認すると原因を絞り込みやすくなります。

逆に、X11で問題が発生する場合はWaylandとの比較が参考になることもあります。

ただし、X11へ切り替えれば必ず改善するという意味ではありません。

あくまで原因を切り分けるための確認方法です。

macOSでは入力ソースを確認する

macOSでも、VSCodeだけで問題が起きているのか、OS全体で問題が起きているのかを確認します。

まずはメモやSafari、TextEditなどで日本語入力が正常にできるか確認してください。

日本語入力ソースを確認する

macOSでは、システム設定のキーボードから入力ソースを確認できます。

日本語入力ソースが正しく追加されているか確認してください。

ほかのアプリでは正常なのにVSCodeだけで問題が起きる場合は、拡張機能やProfile、VSCode本体などを確認するとよいでしょう。

変換候補の表示がおかしい場合は描画問題も考える

日本語入力そのものはできるものの、変換候補の表示位置がおかしい、画面表示が乱れるといった場合は、IMEそのものではなく描画処理が関係している可能性もあります。

ElectronやGPU、Waylandなどの組み合わせによって表示トラブルが発生する場合があります。

ただし、日本語入力へ切り替えられない、変換できないといった症状では、GPUが主な原因である可能性は高くありません。

そのため、GPU関連の確認は、表示系の不具合がある場合の追加調査として考えるのが適切です。

VSCodeを再インストールする前に確認する

日本語入力がおかしいと、VSCodeを再インストールしたくなるかもしれません。

しかし、再インストールだけでは問題が解決しない場合があります。

VSCodeでは設定や拡張機能が同期されていることがあり、再インストール後に同じ環境が復元されれば、不具合も再発する可能性があります。

再インストール前に行いたい確認

次の順番で確認する方が、原因を特定しやすくなります。

ほかのアプリで日本語入力を確認
↓
VSCodeを再起動
↓
IMEの状態を確認
↓
拡張機能を無効化
↓
Temporary ProfileまたはEmpty Profileで確認
↓
キーバインドを確認
↓
OSやIMEを確認

ここまで確認しても改善しない場合に、再インストールを検討するとよいでしょう。

症状別に考えられる原因

日本語入力の症状と原因は、次のように整理できます。

症状主に考えられる原因
VSCodeだけ日本語入力できない拡張機能、設定、VSCode本体
ほかのアプリでも入力できないOS、IME、IME関連サービス
Enter確定時に別操作が動くキーバインド、拡張機能、特定画面の不具合
Space変換時に別操作が動くキーバインド、拡張機能
エディターだけ正常統合ターミナル、シェル
アップデート後に発生したVSCodeやElectronの変更
Linuxでのみ発生するfcitx5、IBus、Mozc、Wayland、X11
候補ウィンドウの位置がおかしいElectron、描画処理、Waylandなど
拡張機能なしなら正常拡張機能の影響
Empty Profileなら正常設定、拡張機能、キーバインドなど

VSCodeで日本語入力がおかしいときのおすすめ確認手順

原因が分からない場合は、次の順番で確認すると効率的です。

1. ほかのアプリで日本語入力する

まずはメモ帳やWord、ブラウザなどで日本語入力できるか確認します。

2. エディターとターミナルを分けて確認する

VSCodeの通常エディターと統合ターミナルのどちらで問題が発生しているのか確認します。

3. VSCodeを完全に再起動する

一度すべてのVSCodeウィンドウを閉じて再起動します。

4. IMEの状態を確認する

Windowsの場合は、Microsoft IMEが選択され、「あ」の状態になっているか確認します。

5. 拡張機能を無効化する

次のコマンドで拡張機能なしの状態を確認します。

code --disable-extensions

6. Temporary ProfileまたはEmpty Profileを試す

設定や拡張機能の影響をまとめて切り分けます。

7. キーバインドを確認する

EnterやSpaceなどに意図しないショートカットが割り当てられていないか確認します。

8. VSCodeやOSを更新する

古いバージョンを使用している場合は、最新版で改善するか確認します。

9. OS側のIMEを確認する

Windows全体で入力がおかしい場合は、IME関連サービスなども確認します。

10. Linuxでは入力メソッドとWaylandを確認する

fcitx5、IBus、Mozc、Wayland、X11などの組み合わせを確認します。

VSCodeの日本語入力トラブルは順番に切り分けることが重要

VSCodeで日本語入力がおかしくなった場合、すぐに再インストールしたりsettings.jsonを書き換えたりする必要はありません。

まずは、VSCodeだけで問題が起きているのか、OS全体で起きているのかを確認することが重要です。

そのうえで、拡張機能を無効化し、Temporary ProfileやEmpty Profileを利用すると、原因をかなり絞り込めます。

WindowsであればMicrosoft IME、Linuxであればfcitx5やIBus、Waylandなど、OSごとの入力環境も確認しましょう。

また、特定バージョンへのアップデート直後に症状が発生した場合は、VSCode側の不具合である可能性もあります。

「VSCode本体」「拡張機能」「設定」「OS・IME」「ターミナル」の順に切り分けることで、不要な設定変更を避けながら原因を特定しやすくなります。

以上、VSCodeで日本語入力がおかしいときの原因と対処法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次