VSCodeで言語ごとに文字エンコードを指定する方法!

プログラミングをしていると、扱うファイルの種類によって使用したい文字エンコードが異なることがあります。

  • HTML / JavaScript:UTF-8を指定して開く
  • CSV:Shift_JISを指定して開く
  • ログファイル:特定の文字コードを指定して開く

上記の内容は、VSCodeの設定ファイルである「settings.json」を使えば実現できます。

この記事では、「VSCodeで言語ごとに文字エンコードを指定する方法」をわかりやすく解説します。

VSCodeで言語ごとに文字エンコードを指定する方法

VSCodeでは、言語ごとに指定した文字エンコード(文字エンコーディング)で開くことができます。

これを利用すると、次のようなルールを設定できます。

  • .csvはShift_JISを指定して開く
  • .htmlはUTF-8を指定して開く

設定方法ですが、VSCodeの設定ファイルであるsettings.jsonに以下の形式で文字エンコードを指定します。

"[言語ID]": {
    "files.encoding": "files.encodingの値"
}

例えば、csvファイルをShift_JISで開くようにするには、以下のように記述します。

"[csv]": {
    "files.encoding": "shiftjis"
}

settings.jsonの開き方

Windowsの場合はCtrl + ,、Macの場合はCmd + ,で設定画面を開き、右上のファイルアイコンをクリックすると、settings.jsonを開くことができます。

settings.jsonの開き方

言語IDの調べ方

VSCodeで「言語ごとに文字エンコードを指定する」には、まずその言語の「言語ID」を知る必要があります。

言語IDは"csv""html"のような識別子で、settings.jsonに書くときに必ず必要になります。

言語IDの調べ方についてこれから説明します。

まず、コマンドパレットを開きます。Windowsの場合はCtrl+Shift+P、macOSの場合は、Command+Shift+Pを押すと、コマンドパレットを開くことができます。

コマンドパレットを開いたら、検索欄にlangと入力してください。候補がいくつか表示されますが、この中で「基本設定:言語固有の設定を構成します...」を選択します。

言語IDの調べ方01

すると、以下に示すような選択候補が現れます。

言語IDの調べ方02

この括弧の中に書いてあるのが「言語ID」です。例えば、C++の言語IDはcppになります。

files.encodingで指定できる値

VSCodeのfiles.encodingでは、多くの文字エンコードを指定できます。指定できる文字エンコードの一覧を以下に示します。

文字エンコードfiles.encodingの値
UTF-8 (BOM なし)utf8
UTF-8 (BOM あり)utf8bom
UTF-16 LEutf16le
UTF-16 BEutf16be
Western (Windows 1252)windows1252
Western (ISO 8859-1)iso88591
Western (ISO 8859-3)iso88593
Western (ISO 8859-15)iso885915
Western (Mac Roman)macroman
DOS (CP 437)cp437
Arabic (Windows 1256)windows1256
Arabic (ISO 8859-6)iso88596
Baltic (Windows 1257)windows1257
Baltic (ISO 8859-4)iso88594
Celtic (ISO 8859-14)iso885914
Central European (Windows 1250)windows1250
Central European (ISO 8859-2)iso88592
Central European (CP 852)cp852
Cyrillic (Windows 1251)windows1251
Cyrillic (CP 866)cp866
Cyrillic (CP 1125)cp1125
Cyrillic (ISO 8859-5)iso88595
Cyrillic (KOI8-R)koi8r
Cyrillic (KOI8-U)koi8u
Estonian (ISO 8859-13)iso885913
Greek (Windows 1253)windows1253
Greek (ISO 8859-7)iso88597
Hebrew (Windows 1255)windows1255
Hebrew (ISO 8859-8)iso88598
Nordic (ISO 8859-10)iso885910
Romanian (ISO 8859-16)iso885916
Turkish (Windows 1254)windows1254
Turkish (ISO 8859-9)iso88599
Vietnamese (Windows 1258)windows1258
Simplified Chinese (GBK)gbk
Simplified Chinese (GB18030)gb18030
Traditional Chinese (Big5)cp950
Traditional Chinese (Big5-HKSCS)big5hkscs
Japanese (Shift JIS)shiftjis
Japanese (EUC-JP)eucjp
Korean (EUC-KR)euckr
Thai (Windows 874)windows874
Latin/Thai (ISO 8859-11)iso885911
Cyrillic (KOI8-RU)koi8ru
Tajik (KOI8-T)koi8t
Simplified Chinese (GB 2312)gb2312
Nordic DOS (CP 865)cp865
Western European DOS (CP 850)cp850

本記事のまとめ

VSCodeでは言語ごとに文字エンコードを自動で切り替える設定ができます。

  • HTML / JavaScriptはUTF-8
  • CSVはShift_JIS
  • ログファイルは好みの文字コード

といったルールをsettings.jsonに書くだけで簡単に実現できます。

特に、CSVや古いシステムのファイルを扱うときは、毎回手動でエンコードを切り替える手間がなくなるため便利です。VSCodeをよく使う方は、ぜひ今回紹介した方法で作業環境を快適にしてみてください。

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

スポンサーリンク