Windows Terminal設定メモ

Windows端末では、MS-DOS、WSL、GitBashなど様々なコンソールを使っているけど、デフォルトの色だったりフォントだったりが気に入らないので使うときにモヤモヤしています。

決め手がなくてどこかで落ち着きたいと思っていたところ、開発中ではあるもののWindows Terminalがこれらを束ねてくれそうで使ってみることにしました。

Windows Termialの導入

アプリはMicrosoftストアから導入できます。まずはインストールします。

Windows Terminal
https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701?activetab=pivot:overviewtab

windows_inst_terminal001

その他

今回特に利用してないですが、ソースはGithubにあります

Windows Terminal (Github)
https://github.com/microsoft/terminal

海外ユーザがカラースキームについて投稿しています。

Adding New Color Schemes to Windows Terminal
https://andrewpla.dev/Adding-New-Color-Schemes-To-Windows-Terminal/

使い方など

起動すると、デフォルト設定になっているPower Shellが起動します

windows_inst_terminal002

windows_inst_terminal001a

下矢印のアイコンを選択するとプロダウン形式のメニューが表示されます。ここで設定の変更や、登録されているコンソールが選択できます。デフォルトだと、"PowerShell", "コマンドプロンプト", "WSL", "Azure"の4種類です。

windows_inst_terminal003

"コマンドプロンプト"

windows_inst_terminal004

"WSL" ※WSLとLinuxをインストールしてないと表示しない気がする

windows_inst_terminal005

Windows Terminalの設定

"Settings"を選択すると、jsonファイルがデフォルトエディタで開きます。jsonを直接編集せよということです。今回使用したバージョンのデフォルトの設定状態が以下になります。頻繁にフォーマットが変わる可能性があります。(すでに昔の記事と違っていた)

ちなみにこのファイルの場所は、以下になります。Microsoft.WindowsTerminal_後のキーのような部分はバージョンによって異なると思います。

%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState

profilesが配列になっていて、ここに定義をN個追加するとプロダウンに表示されるようです。デフォルトの以下4つは消すことはできないです。

schemesには色の定義が追加できます。ある程度のスキーマは定義されていると思いますが、その情報がなかなかなくてわからないです。

// profiles.json
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    [
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false
        },
        {
            "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
            "hidden": false,
            "name": "Ubuntu-18.04",
            "source": "Windows.Terminal.Wsl"
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": false,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

コンソールの編集

すでにあるUbuntu-18.04を編集してみます。ポイントはcolorScheme=Ubuntuで、任意の定義名を指定して、schemesname=Ubuntuの定義を追加します。

"profiles": [
    {
        "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
        "hidden": false,
        "name": "Ubuntu-18.04",
        "source": "Windows.Terminal.Wsl",
        "icon": "%USERPROFILE%/ubuntu.ico",
        "fontFace": "Ubuntu Mono",
        "fontSize": 14,
        "colorScheme": "Ubuntu"
    },
    {
        // Make changes here to the cmd.exe profile
        "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
        "name": "cmd",
        "commandline": "cmd.exe",
        "hidden": false
    },
    :
],
// Add custom color schemes to this array
"schemes": [
    {
        "name": "Ubuntu",
        "black": "#2e3436",
        "red": "#cc0000",
        "green": "#4e9a06",
        "yellow": "#c4a000",
        "blue": "#3465a4",
        "purple": "#75507b",
        "cyan": "#06989a",
        "white": "#d3d7cf",
        "brightBlack": "#555753",
        "brightRed": "#ef2929",
        "brightGreen": "#8ae234",
        "brightYellow": "#fce94f",
        "brightBlue": "#729fcf",
        "brightPurple": "#ad7fa8",
        "brightCyan": "#34e2e2",
        "brightWhite": "#eeeeec",
        "background": "#300a24",
        "foreground": "#eeeeec"
    }
],

以下にWindows Terminal用のカラースキームが以下にたくさんあります。Ubuntu用はここにある定義をそのまま利用。

mbadolato/iTerm2-Color-Schemes
https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/windowsterminal

iconにはローカルのユーザプロファイルディレクトリにフリーのアイコンをゲットして指定してます。

windows_inst_terminal006

あと、fontFaceですが、Ubuntu Monoを指定してます。これはUbuntuのターミナルで使われているフォントを真似たものか、そのものなのかわからないですが、フォントがそっくりになります。もともとアプリに内包されているのか、事前にいろいろ試していたときにインストールしたフォントなのか不明です。一応以下にリンクを貼っておきます。フォントが変わらなければ、ダウンロードしてインストールすること。

Ubuntu Monoフォント - ダウンロード
https://fontmeme.com/jfont/ubuntu-mono-font/

jsonを保存すると即座に反映されます。定義が間違っているとTerminalダイアログ上にエラーが表示されます。

アイコン変更されてます。

windows_inst_terminal007a

コンソールを起動して表示を確認したところ、Ubuntuのターミナルのデフォルトを真似た外観になってます。なかなか気に入ってます。

windows_inst_terminal008

ほかのカラースキーム

上記のサイトからほかのカラースキームをいくつか設定してみました。

  • Molokai

windows_inst_terminal009

{
    "name": "Molokai",
    "black": "#121212",
    "red": "#fa2573",
    "green": "#98e123",
    "yellow": "#dfd460",
    "blue": "#1080d0",
    "purple": "#8700ff",
    "cyan": "#43a8d0",
    "white": "#bbbbbb",
    "brightBlack": "#555555",
    "brightRed": "#f6669d",
    "brightGreen": "#b1e05f",
    "brightYellow": "#fff26d",
    "brightBlue": "#00afff",
    "brightPurple": "#af87ff",
    "brightCyan": "#51ceff",
    "brightWhite": "#ffffff",
    "background": "#121212",
    "foreground": "#bbbbbb"
}
  • Github

windows_inst_terminal010

{
    "name": "Github",
    "black": "#3e3e3e",
    "red": "#970b16",
    "green": "#07962a",
    "yellow": "#f8eec7",
    "blue": "#003e8a",
    "purple": "#e94691",
    "cyan": "#89d1ec",
    "white": "#ffffff",
    "brightBlack": "#666666",
    "brightRed": "#de0000",
    "brightGreen": "#87d5a2",
    "brightYellow": "#f1d007",
    "brightBlue": "#2e6cba",
    "brightPurple": "#ffa29f",
    "brightCyan": "#1cfafe",
    "brightWhite": "#ffffff",
    "background": "#f4f4f4",
    "foreground": "#3e3e3e"
}
  • Red Alert

windows_inst_terminal011

{
    "name": "Red Alert",
    "black": "#000000",
    "red": "#d62e4e",
    "green": "#71be6b",
    "yellow": "#beb86b",
    "blue": "#489bee",
    "purple": "#e979d7",
    "cyan": "#6bbeb8",
    "white": "#d6d6d6",
    "brightBlack": "#262626",
    "brightRed": "#e02553",
    "brightGreen": "#aff08c",
    "brightYellow": "#dfddb7",
    "brightBlue": "#65aaf1",
    "brightPurple": "#ddb7df",
    "brightCyan": "#b7dfdd",
    "brightWhite": "#ffffff",
    "background": "#762423",
    "foreground": "#ffffff"
}