Help us understand the problem. What is going on with this article?

Windows Terminal Tips

Windows Terminal

Windowsの新しいTerminalアプリケーション。WindowのTab化や様々な設定が可能。デフォルトでコマンドプロンプト、PowerShell、WSL、Azure Cloud Shellを使用可能。正式版(V1.0)もリリースされ、大分使えると思うので、興味のある方は使ってみては。
v0.11で設定ファイルがprofiles.jsonからsettings.jsonに変わり、デフォルト設定も変更された。従来の設定は引き継がれるが、本ページではv0.11以降の設定を前提にした内容で説明する。また、日本語UIにも対応した。(言語切り替えはできない)

windows_terminal.png

How to install

Windows 10 1903 (build 18362)以降であれば、インストール可能。
Microsoft StoreからWindows Terminalを検索してインストール。とっても簡単。

Settings

設定ファイル(settings.json)を適当なエディタで修正して、設定変更を行う。GUIでの設定変更はまだできない模様(v2で実装予定)。Windows Terminal画面でCtrl + ,を押す、またはTabの右横のメニューからSettingsをクリックすることで、設定ファイルがjsonファイルに割り当たっているエディタで開かれる。私の環境では、VS Codeで開く。
以下、個人的に設定している項目に関して説明する。これ以外にも多くの設定が可能なので、詳細はこのあたりを参照してみましょう。

Global設定

全Terminal画面共通の設定。

Default shell変更

Windows Terminal起動時に、初期設定ではPowerShellのTerminalが開く。これを自分の好きなshellを起動するように変更できる。
settings.jsonファイルの先頭付近にあるdefaultProfileに自分の好きなshellのGUIDを設定する。

例:defaultProfileをcmd.exeに変更

settings.json(変更前)
...
    "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
        },
...

このdefaultProfileの値をpowershell.exeからcmd.exeのguidに変更して保存する。この後、Ctrl + Shift + Tで新規タブを開いたときや、Windows Terminalを立ち上げたときに、cmd.exeのタブが起動する。

settings.json(変更後)
...
    "defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", <- cmd.exeのGUIDに変更

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

画面関連設定

起動時の画面サイズ、画面位置を設定できる。

プロパティ 設定値 説明
launchMode maximized or default maximizedで起動時に最大化
initialPosition x,y(数字) 起動時の位置を指定。0,0で画面左上
initialCols x(数字) 起動時の画面幅サイズ
initialRows y(数字) 起動時の画面高さサイズ
settings.json(画面最大化で起動)
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
    "launchMode": "maximized",
...
settings.json(横120、縦30、画面左上で起動)
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
    "initialCols": "120",
    "initialRows": "30",
    "initialPosition": "0,0",
...

テキスト選択時の自動コピー

初期設定では、Terminal上のテキストを選択した際に自動でコピーされる。copyOnSelectfalseに設定することで、Ctrl + Cを押すことで選択したテキストがコピーされるように変更できる。(私はデフォルトのまま使っていますが)

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

    "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
    "copyOnSelect": false,
...

Dark Mode設定

最近ちょっと流行りのDark Mode。themedarkに設定する。デフォルトではシステム設定に従うので、システム設定をDark Modeにしているなら、あえて設定しなくてよい。

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

    "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
    "theme": "dark",
...

Key Bindings設定

Key Bindigsを好みの設定に変更可能。設定できる項目はここを参照。デフォルトの設定はdefault.jsonkeybindings以下を参照。default.jsonはTab右横のメニューからAltを押したまま設定をクリックすることで開くことができる。
個人的に下記の設定をしている。検索をCtrl+F、現在のシェル画面分割をAlt+Shift+-(水平分割)、Alt+Shift++(垂直分割)に割り当てている。

settings.json
    "keybindings": [
        { "keys": "ctrl+f", "command": "find" },
        { "keys": "alt+shift+-", "command": {"action": "splitPane", "split": "horizontal", "splitMode": "duplicate"}},
        { "keys": "alt+shift+plus", "command": {"action": "splitPane", "split": "vertical", "splitMode": "duplicate"}}
    ]

Profile設定

Pfofile(シェル)ごとの設定。profiles以降の各Shellに関する設定。

Default設定

全Profile共通の設定。defaultsで設定した内容は、list以降の全Profileに適用される。共通に設定したい項目は、ここで設定するとよい。以下の例では全てのProfileのフォントの種類をCascadia Code、サイズを10に設定する。(なお、デフォルトのフォントはLigatureのないCascadia Mono。)

settings.json
...
    "profiles": {
        "defaults": {
            "fontFace": "Cascadia Code",
            "fontSize": 10
        },
        "list": [
            {
                // Make changes here to the powershell.exe profile
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            }
         ]
     },
...

Profile追加(GUID作成方法)

list配下にprofileを追加することもできる。Linux Serverにsshで接続するメニューを追加することもできる。ここを参考にするといいかも。Git Bash等はここを参考に。
なお、profileを追加する際には、GUIDを作成する必要があるが、PowershellのNew-Guidコマンドで作成可能。

PS C:\> New-Guid

Guid
----
e5942063-0a0f-45e3-ae44-e10e37337d76

Font変更

Fontの種類をfontFace、サイズをfontSizeで変更可能。プログラマー向けの等幅フォントCascadia Codeを使用可能。なお、Windows TerminalのデフォルトフォントはCascadia Monoだが、このフォントにはCoding Ligature(合字)が入っていない。Coding Ligatureって何?という方はここを見てみましょう。

settings.json
...
    "profiles": {
    ...
        list: [
            {
                // Make changes here to the powershell.exe profile
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
                "fontFace": "Cascadia Code",
                "fontSize": 10
            },
...

Color Scheme設定

カラー設定をcolorSchemeで変更可能。設定できる値は、default.jsonを参照。default.jsonはTab右横のメニューからAltを押したままSettingsをクリックすることで開くことができる。自分でsettings.jsonに追加することも可能。好きな人はいろいろ変更してみては。私は、デフォルトで不満はないので変更していない。

Window透過設定

Windowの背景を透過させることができる。acrylicOpacityで初期の透過度を設定する。0~1の範囲で設定可能。Windows Terminal画面上でCtrl + Shiftを押したまま、マウスのホイールをスクロールすると動的に透過度を変更可能。

settings.json
...
    "profiles": {
    ...
        list: [
            {
                // Make changes here to the powershell.exe profile
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
                "useAcrylic": true,
                "acrylicOpacity": 0.5
            },
...

ショートカットキー

覚えておくと便利かも。

機能 ショートカットキー 説明
新規タブ作成 Ctrl + Shift + T default shellが起動      
タブの複製 Ctrl + Shift + D 現在のタブの複製      
タブの切り替え Ctrl + Tab
ドロップダウンメニュー表示 Ctrl + Shift + Space 画面上部の下矢印キーをクリックしたときに表示されるメニューを表示
検索 Ctrl + Shift + F
画面の水平分割 Alt + Shift + - 分割画面はdefault shellが起動。個人的にはこの設定に変えている。
画面の垂直分割 Alt + Shift + + 分割画面はdefault shellが起動。個人的にはこの設定に変えている。
分割画面間の移動 Alt + ←↑→↓
分割画面のサイズ変更 Alt + Shift + ←↑→↓
全画面モード Alt + Enter or F11 2度押すと元に戻る

その他

管理者権限での実行

タブを管理者権限で新規に作成はできない。管理者権限で実行したい場合は、Windows Terminal自信を管理者権限で実行する必要がある。

Preview Channel

Windows Terminal Preview版をここからインストール可能。安定板と共存できるので、新し物好きな方は試してみては。

関連リンク

whim0321
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした