8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2020-06-02

Goal

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

手順

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

settings.jsonを開く

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

VS Codeのsettings.jsonの開き方

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

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"
            ],
        },
    },
}

VSCode Version: 1.56.0以降の書き方(PowerShell 6用)
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"
            ],
        },
    },
}
VSCode Version: 1.55.0以前の書き方
settings.json
{
    // "terminal.integrated.shellArgs.windows"では
    // シェルの実行ファイルに引数を付けて、実行させることができる。
    "terminal.integrated.shellArgs.windows": [
        /* コマンド実行後もPowerShellを開き続ける */
        "-NoExit", 

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

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

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?