2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VSCode】文字化けにサヨナラ!settings.jsonで文字コードを賢く自動判定・設定する方法

Posted at

VSCodeを使っていて、「日本語が文字化けして読めない!」という経験はありませんか?
特に、普段は UTF-8 を使っているけれど、VBA(Excelマクロ)や古いプロジェクトで Shift-JIS が混在している場合、いちいち手動で切り替えるのは面倒です。

今回は、VSCodeの settings.json を少し書き換えるだけで、文字コードを自動で推測させたり、言語ごとにデフォルトの文字コードを指定したりする方法を解説します。

1. settings.json の開き方

VSCodeの設定を直接書き換えるために、settings.json というファイルを開きます。VSCodeに慣れていない方でも、以下の手順で簡単に開けます。

  1. コマンドパレットを開く
    • Windows: Ctrl + Shift + P
    • Mac: Command + Shift + P
  2. 検索窓に 「user settings json」 と入力します。
  3. 候補に出てくる 「基本設定: ユーザー設定を開く (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 で開く」という個別の指定です。

おわりに

これで、UTF-8のファイルもShift-JISのファイルも、ストレスなく同時に扱えるようになります。
特に「VBAだけは絶対にShift-JISで開きたい」という場合に、この言語別設定は非常に強力です。

ぜひ設定をカスタマイズして、快適なコーディング環境を作ってみてください!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?