VSCodeには、ファイルを開くときに自動で文字エンコードを推測(判別)してくれる便利な機能があります。それがfiles.autoGuessEncodingです。
通常、VSCodeはファイルを開く際、
- UTF-8として開く(デフォルト)
- 設定で指定したエンコードで開く(
files.encodingを使用) - 手動でエンコードを変更する(右下メニュー)
といった方法になりますが、ファイルによっては、「どの文字コードで書かれているのか分からない」ケースもあります。
こうした「文字コードが不明なファイル」を開く際に自動で推測し、適切な文字エンコードで表示してくれるのがfiles.autoGuessEncodingです。
files.autoGuessEncodingの設定方法
VSCodeの設定ファイルであるsettings.jsonを開きます。
Windowsの場合はCtrl + ,、Macの場合はCmd + ,で設定画面を開き、右上のファイルアイコンをクリックすると、settings.jsonを開くことができます。

開いたsettings.jsonに以下を追加します。
"files.autoGuessEncoding": trueこれでfiles.autoGuessEncodingの設定が完了です。
GUIからfiles.autoGuessEncodingを設定する場合
なお、GUIからfiles.autoGuessEncodingを設定することができます。
VSCodeを開き、Windowsの場合はCtrl + ,、Macの場合はCmd + ,で設定画面を開きます。

検索窓に「autoGuessEncoding」と入力し、「Files: Auto Guess Encoding」にチェックを入れます。

これでfiles.autoGuessEncodingの設定が完了です。
files.autoGuessEncodingを使うメリット
files.autoGuessEncodingを使うメリットを以下に示します。
メリット
- 文字化けが起きにくくなる
- Shift_JISのCSVなどを開くとき、自動でエンコードが判別されるため、文字化けが大幅に減ります。
- 毎回エンコード切り替えの手間が不要
- 手動で「再度エンコードを選び直す」必要がありません。
- 他人からもらったファイルでも安心
- OSやシステムが違う環境の人から受け取ったテキストでも、そのまま開いて確認できます。
「files.autoGuessEncoding」と「files.encoding」の違い
files.autoGuessEncodingと似ているのにfiles.encodingがあります。両社の違いを以下に示します。
| 機能 | 役割 | どんなときに使う? |
|---|---|---|
files.encoding | デフォルトの文字エンコードを指定 | .csvはshiftjisなど、固定ルールで開きたいとき |
files.autoGuessEncoding | ファイルの内容からエンコードを推測 | どんなエンコードか分からないファイルが多いとき |
files.autoGuessEncodingとfiles.encodingを両方設定すると、まず、files.autoGuessEncodingの推測が行われ、それでも推測できなかった場合には、files.encodingが使用されます。
あわせて読みたい
続きを見るfiles.encodingについては下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。 
VSCodeで言語ごとに文字エンコードを指定する方法!
本記事のまとめ
この記事では「自動で文字エンコードを推測(判別)してくれる便利な機能files.autoGuessEncoding」について説明しました。
VSCodeのfiles.autoGuessEncodingを設定しておくと、文字コードが不明なファイルでも自動でエンコードを判別してくれるため、文字化けのトラブルを大幅に減らせます。特に、Shift_JISのCSVや他の環境から受け取ったテキストを扱う機会が多い方にはとても便利な機能です。
お読みいただきありがとうございました。