VSCodeの統合ターミナルでPowerShell起動時、文字コードをUTF-8に変える方法

# Goal

VSCodeの統合ターミナルでPowerShellを開いた時の文字コードをUTF-8に変更する。

# 手順

1. settings.jsonを開く
2. 設定を記述し保存

## settings.jsonを開く

自分はctrl+shift+pから開く方法しか知らなかったのですが、
検索すると<b>y-w</b>さんが設定画面からsettings.jsonを
開く方法を紹介されています。

<a href="https://qiita.com/y-w/items/614843b259c04bb91495" target="_blank">VS Codeのsettings.jsonの開き方</a>

## 設定を記述し保存(Version: 1.56.0以降の書き方、PowerShell 7対応)

```json-doc:settings.json
{
    // "terminal.integrated.defaultProfile.windows"では、
    // 統合ターミナルをPowerShellに変更
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    // "terminal.integrated.profiles.windows"では、
    // 複数のターミナルに対して、実行ファイルと引数を設定することができる
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            // "PowerShell"と"Git Bush"に対してはパスを指定する必要がない
            "source": "PowerShell",
            // PowerShellの実行ファイル名の後ろに引数を付けて、
            // 実行させることが可能
            "args": [
                // コマンド実行後もPowerShellを閉じない
                "-NoExit",
                // 文字コードをUTF-8に変更するコマンドを実行
                "-Command",
                "chcp 65001",
                // "Active code page: 65001"を表示しないためのコマンド
                // 下記のコマンドは出力を捨てることが可能
                "|",
                "Out-Null",
                // おまけ①: 好みでコマンドを後ろに続ける
                ";",
                // 本例はカレントディレクトリをデスクトップに変更
                "cd ${env:USERPROFILE}/Desktop"
            ],
        },
        // おまけ2: コマンドプロンプトで同じことを設定
        "Command Prompt": {
            // コマンドプロンプトの実行ファイルのパスを設定
            "path": "C:/WINDOWS/System32/cmd.exe",
            "args": [
                "/k",
                "chcp",
                "65001",
                ">nul",
                "2>&1",
                "&&",
                "cd",
                "%USERPROFILE%/Desktop"
            ],
        },
    },
}
```

---

<details><summary>VSCode Version: 1.56.0以降の書き方(PowerShell 6用)</summary><div>

```json-doc:settings.json
{
    // "terminal.integrated.defaultProfile.windows"では、
    // 統合ターミナルをPowerShellに変更
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    // "terminal.integrated.profiles.windows"では、
    // 複数のターミナルに対して、実行ファイルと引数を設定することができる
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            // "PowerShell"と"Git Bush"に対してはパスを指定する必要がない
            "source": "PowerShell",
            // PowerShellの実行ファイル名の後ろに引数を付けて、
            // 実行させることが可能
            "args": [
                // コマンド実行後もPowerShellを閉じない
                "-NoExit",
                // 文字コードをUTF-8に変更するコマンドを実行
                "-Command",
                "chcp",
                "65001",
                // "Active code page: 65001"を表示しないためのコマンド
                // 下記のコマンドは出力を捨てることが可能
                ">$NULL",
                // おまけ1: 好みでコマンドを後ろに続ける
                ";",
                // 本例はカレントディレクトリをデスクトップに変更
                "cd",
                "${env:USERPROFILE}/Desktop"
            ],
        },
    },
}
```

</div></details><details><summary>VSCode Version: 1.55.0以前の書き方</summary><div>

```json-doc:settings.json
{
    // "terminal.integrated.shellArgs.windows"では
    // シェルの実行ファイルに引数を付けて、実行させることができる。
    "terminal.integrated.shellArgs.windows": [
        /* コマンド実行後もPowerShellを開き続ける */
        "-NoExit", 

        /* コマンド実行 */
        "-Command",

        /* 文字コード変更 */
        "chcp 65001",

        /* "Active code page: 65001"を表示しないためのコマンド */
        /* 下記のコマンドはいずれも出力を捨てることができる */
        "| Out-Null",
        // "> $null",
    ],
}
```

</div></details>