As/R で現在開いているディレクトリから Windows Terminal でコマンドプロンプトを起動する方法

試した環境

本題

kakashibata.hatenablog.jp

以前、「As/R で現在開いているディレクトリからConEmuを起動する方法」という記事を書きましたが、今回はその Windows Terminal 版です。

設定方法

As/R にコマンドを登録する

まず、As/R にコマンドを登録します。

As/R のメニューバーから、[ツール]→[環境設定]→[オプション]でオプションを開きます。 オプションウィンドウ左側のツリーメニューから、[インターフェイス]→[コマンド定義]を選択します。 「定義ファイルの編集方法」を[TXTに関連付けられたエディタで開く]を選んだ状態で「ユーザー外部コマンド」を選択します。

開かれたExternalUserCommand.txt にて、"EOF" と書かれた行より上の行に以下を記述します。

42501<Tab文字><Tab文字>N--<Tab文字>"C:\Users\____\AppData\Local\Microsoft\WindowsApps\wt.exe" -w 0 -d %NowDir% -p "コマンド プロンプト"<Tab文字>ここからWindows Terminalでコマンド プロンプトを起動

上記は私の環境における場合です。コマンドIDや Windows Terminal のパスなど自身の環境に合わせてください。 コマンドIDは42501~43000の範囲の中から他に定義したコマンドで使用していない数字にします。 "コマンド プロンプト"は Windows Terminal のプロファイル名です。

テキストを保存してオプションダイアログを閉じ念のため As/R を再起動します。

以上でAs/R にコマンドを登録することができました。

コマンドをキーに割り当てる

次に、登録したコマンドを呼び出す設定を行います。 今回はキーボードに割り当てました。

先ほどと同じように As/R のメニューバーから、[ツール]→[環境設定]→[オプション]でオプションを開きます。 オプションウィンドウ左側のツリーメニューから、[インターフェイス]→[キー割り当て]を選択します。 機能を割り当てたいキーを選び、「編集」を選択します。 機能一覧ダイアログから、[全コマンド]→[全ての外部コマンド]→[ユーザー外部コマンド]を展開すると、先ほど設定した説明文の「ここからWindows Terminalでコマンド プロンプトを起動」があるので選択してOKを選択します。
ちなみに以前私が試したときには「ユーザー外部コマンド 42501」のままになっていましたが、そのままそれを選択しました。そして何度か試しているうちに反映されました。(2022/6/13追記)改行コードを確認するといいかもしれません。私の場合は、反映されないときはCRになっており、CR+LFに変更したところ反映されました。
オプションダイアログをOKを選択して閉じます。

以上で設定が完了しました。 割り当てたキーを押して Window Terminal が立ち上がることを確認します。

コマンドの説明

登録した Windows Terminal の以下のコマンドについての説明です。

wt.exe -w 0 -d %NowDir% -p "コマンド プロンプト"

-w 0

オプションを指定することで既に開いている Windows Terminal にタブを追加します。 ただし、これは既に開いている Windows Terminal のウィンドウが As/R で開いたウィンドウのときに限られます。 例えばスタートメニューから起動した Windows Terminal が存在する状態で As/R から Windows Terminal を起動すると新しいウィンドウで開きます。
うしろの数字の意味がいまいち分かっていないです。

-d %NowDir%

現在 As/R で開いているディレクトリをコンソールの開始ディレクトリとして指定します。
%NowDir% は As/R のマクロです。

-p "コマンド プロンプト"

コマンドプロンプトを開きます。
ちなみに前回の記事で設定した MINGW64 を As/R から起動する場合は、プロファイル名をMINGW64 / MSYS2としたので-p "MINGW64 / MSYS2"とします。

参考

Windows Terminal command line arguments | Microsoft Docs