MENU

Windows Terminalをカスタマイズしてみたり

大体1年ぶりくらいなんですが、また色々書きたくなったので書いていこうかと。

 

さて、つい先日コマンドプロンプト(cmd.exe)とWindows PowerShellの後継にあたる「Windows Terminal」がMicrosoftストアでプレビュー公開されました。

f:id:Chan209-36:20190626055642p:plain

早速インストールしたので、色々見ていこうと思います。

※バージョン0.2.1715.0で検証しています。

 

 概要

f:id:Chan209-36:20190626060923p:plain


 

今年5月に開かれたイベントにて、Microsoftは新しいターミナルアプリである「Microsoft Terminal」が発表され、その後Githubにてベータ版が公開されていました。

基本的にはコマンドプロンプトPowerShellを包括的に管理しつつ、WSLやLinux等外部コンソールも利用できるようになったのが大きなところでしょう。

また従来から望まれていたタブによる複数コンソールの切り替え機能や、新しくなったテキストエンジンの搭載、GPUアクセラレーションへの対応など様々な部分が改善されています。

使い勝手は?

f:id:Chan209-36:20190626061123p:plain

従来のコンソールとは違い、タブによる切り替えをサポートしている

まだプレビュー版ということもあり、不安定な部分や未完成の部分は多いものの、軒並み良好といった感じです。

タブの切り替え機能は複数ウィンドウやコンソールを跨いで作業するときに重宝しますし、グラフィックが改善されたことで全体的にコマンドが読みやすくなった印象もあります。

また背景色や文字色を変更する機能(既に現在のコンソールにも実装されていますが)や、背景の透過機能なども備わっており、正式版では壁紙設定なども行えるようになるようです。

カスタマイズしていく

f:id:Chan209-36:20190626062519p:plain

現在はまだプレビュー版ということもあり、jsonファイルを弄っていく

さて、実際に使用するにあたってカスタマイズをしていきます。

とはいってもコンソールの追加、色の変更くらいしか紹介できませんが...。

なおプレビュー版では設定ボタンである「setting」をクリックすると写真のようなjsonファイルが開くようになっており、GUIによる設定はまだ行うことができません。

コンソールの追加

f:id:Chan209-36:20190626063232p:plain

インストール時点で存在するコンソールが自動的に追加され起動可能になりますが、一部のコンソールは手動で追加する必要があります。

ここでは例として、Windows SDKツールに含まれる「展開およびイメージングツール環境」を設定していきます。

1. パスを確認する

言わずもがなではありますが、まず起動するコンソールのパスを控えておきます。

展開およびイメージングツール環境の場合は、以下のようなパスになります。

C:\WINDOWS\system32\cmd.exe /k "D:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"  

2. jsonファイルに記述

パスを控えたら早速設定ファイルの中ほど、profiles欄に以下のコードを追加します。

 {
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "cmd.exe /k \"\"\"D:\\Program Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment Tools\\DandISetEnv.bat\"\"\"",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "Windows Imaging Tool",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},

ざっくりと各行の説明をすると以下の通りです。

acrylicOpacity:透過率。1.0に近いほど透過。後述のuseAcrylicオプションをtrueにしないと値に関係なく透過しない。

closeOnExit:xボタン押したときに自動的にExitするかどうか。

colorScheme:後述する各種色設定のプリセット。

commandline:実行ファイルのパス。ただ単に実行ファイルだけ(オプションなし)ならダブルクォーテーションで囲った中に絶対パスでOK。ただし例のようにオプション付きで起動させる場合はエスケープ処理する必要があり、/kの後のパスを\"\"\"と\"\"\""で囲ってやる必要がある。

cursorColorfontSize:読んだまんま。

guid:アプリケーション固有のID。一度起動するとセットされる。

icon:タブに表示するアイコンの設定。設定ファイルがあるファルダにアイコンファイルを入れておく必要あり。

name:コンソール一覧で表示する名称。現状日本語は非対応。

startingDirectory:起動時のパス。各種変数が使える。なお権限に関係なくこのパスの値を開く。

useAcrylic:たぶんグラフィックアクセラレータの設定。trueだとグラフィックが拡張されてacrylicOpacityの値に応じて透過するようになる。

記述後上書き保存すると反映されます。

なお何らかの値が間違っていたりして読み込めないときは、自動的にインストール時のデフォルトファイルが読み込まれます。

デフォルトコンソールの変更

f:id:Chan209-36:20190626065704p:plain

写真の場合はコマンドプロンプトがデフォルトコンソール。

起動時、および+ボタンをクリックした時に立ち上がるコンソールの変更方法です。

設定ファイルの頭、globals欄の値を変更します。

"defaultProfile" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6102}" 

 この時設定する値ですが、コンソール設定部分のguidの値に呼応しています。

したがってデフォルトに設定したいコンソールのguid値を設定すればOKです。

なおこの値は(おそらく)Terminal初回起動時に設定されているため、guid値が存在しない場合は一度Terminalを起動してみてください。

また任意の値を設定しても大丈夫なはずです。

各部分の色変更

コンソールごとにテーマとして背景色や文字色を設定することができます。

設定ファイルの後ろ、schemes欄を編集していきます。

"background" : "#0C0C0C",
"black" : "#0C0C0C",
"blue" : "#0037DA",
"brightBlack" : "#767676",
"brightBlue" : "#3B78FF",
"brightCyan" : "#61D6D6",
"brightGreen" : "#16C60C",
"brightPurple" : "#B4009E",
"brightRed" : "#E74856",
"brightWhite" : "#F2F2F2",
"brightYellow" : "#F9F1A5",
"cyan" : "#3A96DD",
"foreground" : "#F2F2F2",
"green" : "#13A10E",
"name" : "Campbell",
"purple" : "#881798",
"red" : "#C50F1F",
"white" : "#CCCCCC",
"yellow" : "#C19C00" 

基本的には変数名通りの意味です。

なおnameの値がテーマ名となり、この値がコンソール設定部分のcolorScheme値と呼応しています。

ショートカットキーについて

設定ファイルのglobal欄にkeybindingsという項目があり、ここで各ショートカットキーの設定ができるようなのですが、現状記述してある変数以外は使用できないようです。

(CopyやPasteといった変数も存在しているようなのですが、設定しても機能しません。)

不具合

f:id:Chan209-36:20190626071343p:plain

そもそもPreview版なので仕方がないのですが、まだまだ不具合や未実装の部分が多くあります。

軽く触れた時に見つかったものとしては

・サイズ変更でグラフィックがおかしくなる

・すべてタブを閉じた際にフリーズ

・コピー、ペーストが機能しない

などなど。そこまで致命的なものではありませんが...。

今後のアップデートに期待です。

まとめ

f:id:Chan209-36:20190626072041p:plain

Windowsのコンソールは長いことコマンドプロンプトがメインで、やっとPowerShellに置き換えられたと思ったら新しいターミナルアプリ...。

かなり方針が右往左往していましたが、これでやっと落ち着くんでしょうか。

Linuxへの対応も随分進んできましたし、今後に期待ができるアプリです。

関連リンク

github.com

www.microsoft.com