VS Code(Visual Studio Code)のターミナルで日本語を入力すると、変換を確定した瞬間に文字が消える、文字化けして読めない、表示がズレて入力位置がおかしくなる——こんなトラブルに悩んでいませんか? 自分のメイン機でも、ある日突然 git のコミットメッセージで日本語が崩れだして、半日くらい設定を行ったり来たりした記憶があります。
プログラミング学習や Web 開発で VS Code を使っている人は多いんですが、ターミナルの日本語まわりのトラブルは2025〜2026年になっても報告が絶えません。VS Code の GitHub Issues にも日本語 IME 関連のバグ報告が多数上がっています。
この記事では、2026年2月時点の情報をもとに、VS Code ターミナルで日本語入力がうまくいかない 5つの原因 と、それぞれの 具体的な対処法 を解説します。
原因1:文字コードの不一致(CP932 vs UTF-8)
いちばん多い原因がこれです。VS Code のエディタは UTF-8 で動いていますが、Windows のターミナル(PowerShell / コマンドプロンプト)はデフォルトで CP932(Shift-JIS) という別の文字コードを使っています。
つまり、英語しか話せない人と日本語しか話せない人が会話しようとしているような状態。文字コードが違うと、日本語が文字化けしたり、入力した文字が正しく表示されなかったりします。
対処法:ターミナルの文字コードを UTF-8 に変更する
方法1:コマンドで一時的に変更する
ターミナルで以下のコマンドを入力して Enter を押します。
chcp 65001
これでターミナルの文字コードが UTF-8 に切り替わります。ただし、ターミナルを閉じるたびに元に戻ってしまうので、毎回打ち直すのは正直しんどい(自分は最初これで一週間ほど耐えていました)。
方法2:settings.json で永続的に設定する
VS Code で Ctrl + Shift + P(Mac は Cmd + Shift + P)を押して「settings json」と検索し、settings.json を開きます。以下を追加してください。
{
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"args": ["-NoExit", "chcp 65001"]
}
}
}
これで、ターミナルを開くたびに自動で UTF-8 に切り替わります。
方法3:Windows のシステム設定で根本解決する
Windows の「設定」→「時刻と言語」→「言語と地域」→「管理用の言語の設定」→「システムロケールの変更」で、「ワールドワイド言語サポートで Unicode UTF-8 を使用」にチェック を入れて PC を再起動します。これがもっとも根本的な解決策です。
原因2:GPU アクセラレーションの影響
VS Code のターミナルは描画を高速化するために GPU アクセラレーション(グラフィックボードの力を借りて画面を高速に描く機能)を使っています。これが日本語のような 全角文字の表示幅の計算 を狂わせることがあります。
具体的には、日本語を入力すると カーソルの位置がズレる、文字が重なって表示される、変換候補ウィンドウの位置がおかしい といった症状が出ます(PC ショップ時代も「フォントが新調された PC で日本語入力がズレる」みたいな相談が時々ありました)。
対処法:GPU アクセラレーションをオフにする
settings.json に以下を追加します。
{
"terminal.integrated.gpuAcceleration": "off"
}
描画速度がほんの少し遅くなる可能性はありますが、体感できるほどではありません。日本語入力の安定性を優先しましょう。
原因3:Unicode 幅の計算バージョンが古い
VS Code のターミナルには Unicode バージョン の設定があります。これは「全角文字を画面上でどれくらいの幅で表示するか」を計算するためのルールです。
デフォルトのバージョンが、使っているシェルや環境と合っていないと、日本語の文字幅が正しく計算されず、表示がズレたり、文字が重なったり します。
対処法:Unicode バージョンを変更する
settings.json に以下を追加します。
{
"terminal.integrated.unicodeVersion": "11"
}
Unicode 11 は2018年にリリースされたバージョンですが、多くのシェル環境との互換性が高く、日本語の全角文字幅の計算が安定します。設定を変更したら、ターミナルを閉じて開き直してください。
原因4:拡張機能が IME 入力を妨害している
VS Code にインストールしている 拡張機能 が、日本語入力(IME)の動作を邪魔していることがあります。2025年以降、特に報告が多いのは以下のケースです。
- VSCodeVim:Enter キーによる変換確定が Vim のコマンドとして処理されてしまい、日本語の変換が確定できない 問題が報告されています(VS Code 1.101.0 以降で発生)
- Claude Code / Gemini CLI などの AI ツール:ターミナル内で動作する AI ツールが 全角文字の幅を正しく認識できず、表示がずれる 問題が報告されています
- その他のターミナル連携拡張機能:キー入力をフックする拡張機能全般が、IME の composition イベント(変換中の仮入力)を横取りする可能性があります
対処法:拡張機能を一時的に無効化して切り分ける
まず、拡張機能が原因かどうかを確認します。OS 標準のターミナル(VS Code のターミナルではなく)から以下のコマンドで VS Code を起動してください。
code --disable-extensions
この状態で日本語入力が正常に動くなら、拡張機能が原因 です。あとは拡張機能を1つずつ有効にしていけば、犯人を特定できます(地道ですが、これがいちばん確実)。
VSCodeVim を使っている場合は、settings.json に以下を追加すると改善することがあります。
{
"vim.autoSwitchInputMethod.enable": true
}
原因5:Enter キーが変換確定とコマンド実行の両方に反応してしまう
これは2025年後半から 報告が増えている比較的新しい問題 です。日本語の IME で変換候補を選んで Enter キーを押すと、変換の確定と同時に、VS Code のフォーム送信やコマンド実行が発動してしまう という症状です。
たとえば、ブランチ名を日本語で入力しているときに Enter で変換を確定すると、入力途中なのに 勝手にブランチが作成されてしまう ことがあります。VS Code 1.105.1 で報告されたこの問題は、1.104.3 では発生しなかったとのことで、特定バージョンでの不具合 です。
対処法:VS Code を最新版にアップデートする
この手の問題は、VS Code のアップデートで修正されることがほとんどです。以下の手順でアップデートしてください。
Ctrl + Shift + P(Mac はCmd + Shift + P)を開く- 「Update」と入力して「Check for Updates...」を選択
- アップデートがあればインストールして再起動
2026年2月時点の最新安定版は VS Code 1.97 系 です。もしアップデートしても直らない場合は、VS Code Insiders 版 で修正済みの可能性があるので、そちらを試してみてください。
まとめ:設定3つをまとめて入れるのが結局のところ早い
ここまで5つの原因と対処法を紹介しましたが、「どれが原因かわからない」という場合は、以下の設定を まとめて settings.json に追加 してしまうのがいちばん早いです(自分も最終的にはこれを基本セットとしてどの開発機にも入れています)。
{
"terminal.integrated.gpuAcceleration": "off",
"terminal.integrated.unicodeVersion": "11",
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"args": ["-NoExit", "chcp 65001"]
}
}
}
settings.json の開き方は、Ctrl + Shift + P →「settings json」で検索 →「Preferences: Open User Settings (JSON)」を選択です。これで大半のケースは解決します。それでもダメなら、拡張機能の無効化テスト(code --disable-extensions)を試してみてください。
FAQ
Mac でも同じ症状は起きますか?
はい、起きることがあります。ただし文字コードの不一致(原因1)は Windows 特有の問題です。Mac では GPU アクセラレーション(原因2)や拡張機能の干渉(原因4)が主な原因になります。settings.json の設定は Mac でも同じように使えます。
settings.json の場所がわかりません。どこにありますか?
VS Code で Ctrl + Shift + P(Mac は Cmd + Shift + P)を押して「settings json」と検索し、「Preferences: Open User Settings (JSON)」を選べば自動で開きます。ファイルの場所を直接探す必要はありません。
設定を変更したのに反映されません
settings.json を保存したあと、ターミナルを閉じて新しく開き直す 必要があります。既存のターミナルには設定が反映されません。それでもダメなら、VS Code 自体を再起動(完全に閉じてから開き直す)してみてください。
WSL(Windows Subsystem for Linux)でも同じ対処法で直りますか?
WSL を使っている場合は、原因1の文字コード設定は不要です(WSL はデフォルトで UTF-8)。GPU アクセラレーションのオフ(原因2)と Unicode バージョンの変更(原因3)は同様に有効です。WSL 固有の問題がある場合は、WSL 側のロケール設定(locale コマンドで確認)もチェックしてください。
参考文献
- Japanese text Input causes hard crash in all text fields · Issue #238811 — microsoft/vscode, GitHub, 2025年
- Pressing Enter to confirm Japanese IME conversion simultaneously submits the Create Branch form · Issue #272407 — microsoft/vscode, GitHub, 2025年
- Terminal Basics - Visual Studio Code Documentation — Microsoft, 公式ドキュメント
- Japanese IME conversion not committed when pressing Enter with VSCodeVim enabled · Issue #9672 — VSCodeVim/Vim, GitHub, 2025年






