VSCodeを使っていて、「日本語が文字化けして読めない!」という経験はありませんか?
特に、普段は UTF-8 を使っているけれど、VBA(Excelマクロ)や古いプロジェクトで Shift-JIS が混在している場合、いちいち手動で切り替えるのは面倒です。
今回は、VSCodeの settings.json を少し書き換えるだけで、文字コードを自動で推測させたり、言語ごとにデフォルトの文字コードを指定したりする方法を解説します。
1. settings.json の開き方
VSCodeの設定を直接書き換えるために、settings.json というファイルを開きます。VSCodeに慣れていない方でも、以下の手順で簡単に開けます。
-
コマンドパレットを開く
- Windows:
Ctrl+Shift+P - Mac:
Command+Shift+P
- Windows:
- 検索窓に 「user settings json」 と入力します。
- 候補に出てくる 「基本設定: ユーザー設定を開く (JSON)」 を選択します。
2. 設定の書き換え
開いたファイル( { } で囲まれた中身)に、以下のコードを追記してください。
※すでに他の設定が書かれている場合は、直前の項目の末尾にカンマ , を入れてから追記してください。
// 文字コードの候補を定義(自動判定の精度が上がります)
"files.candidateGuessEncodings": [
"utf8",
"shiftjis"
],
// 文字コードを自動推測する(基本はこれをTrueに!)
"files.autoGuessEncoding" : true,
// デフォルトの文字コードはUTF-8に設定
"files.encoding": "utf8",
// 【言語別設定】VBAのファイルだけは必ずShift-JISで開く
"[vba]": {
"files.encoding": "shiftjis"
}
3. 設定内容の解説
-
files.autoGuessEncoding- ファイルを開いた際、VSCodeが「これはUTF-8かな?それともShift-JISかな?」と自動で判断してくれるようになります。
-
files.candidateGuessEncodings- 自動判定する際の「候補」を絞り込みます。日本語環境でよく使うものに限定することで、誤判定を防ぎ、精度を上げることができます。
-
[vba]ブロック- 「特定の言語(今回はVBA)だけは、自動判定に頼らず強制的に
shiftjisで開く」という個別の指定です。
- 「特定の言語(今回はVBA)だけは、自動判定に頼らず強制的に
おわりに
これで、UTF-8のファイルもShift-JISのファイルも、ストレスなく同時に扱えるようになります。
特に「VBAだけは絶対にShift-JISで開きたい」という場合に、この言語別設定は非常に強力です。
ぜひ設定をカスタマイズして、快適なコーディング環境を作ってみてください!