開発者の皆さん、こんにちは!
私は普段 Windows を使用しており、VSCode で ObjectScript を書いてテストする際には、IRIS ターミナルを別途起動し、VSCode とターミナルの 2 画面を行き来する操作を続けてきました。
ところが今回、ObjectScript エクステンションに追加された「ObjectScript Lite Terminal」を利用することで、VSCode 1 画面内で IRIS ターミナルを操作できるようになりました。
一見すると小さな追加機能ですが、日々 IRIS を触っている開発者にとっては “地味に革命” と言えるかもしれません。本記事では、その使い勝手を詳しくご紹介します。
Windows 以外の環境では、通常 iris session xxx を実行して ObjectScript シェルに切り替えますが、Lite Terminal を使えばこの操作が不要になります。
まずは、起動方法から。
Lite ターミナルの起動には、3種類の方法があります。
その1:コマンドパレットを使って起動する
VSCode の View > Command Palette.. > ObjectScript: Launch Lite Terminal
.png)
クリック後、VSCode で現在接続しているネームスペースのターミナルが起動します。
.png)
その2:出力ウィンドウのプロファイルを利用する
VSCodeの出力ウィンドウを開いている場合、+のマーク(プロファイル)の右側のアイコン
をクリックし、InterSystems Lite Terminal をクリックします。
この方法も現在接続しているネームスペースに対してLite Terminal が開きます。
.png)
その3:サーバーメニューのアイコンを利用する
VSCode 画面左端の ObjectScript エクステンションのアイコン
をクリックし、SERVERS メニューを利用します。
接続しているサーバ名以下にある Namespaces > 接続したいネームスペース > Lite Terminal アイコン
をクリックします。
.png)
次は、使い勝手をご紹介します。
複数行に分けて実行できる:
ObjectScript のターミナル実行と言えば、ループでもなんでも 1 行でなんとしてでも書くことが多いですが、Lite Terminal は複数行に分けて実行できます。
.png)
開始括弧 { があるけど閉じ括弧がない状況で Enter すると、複数行として認識され先頭に ... が表示されます。閉じ括弧 } を入力するまで継続行の入力ができます。
なかなか便利な機能です。
そしてよく見ると、コマンド入力に対して色が分かれています。
入力候補が出たりはありませんが、だいぶ見やすくなった気がしませんか?
<SYNTAX>エラーに続けて詳細なエラーが出る:
例えば、コマンドを間違えて実行すると <SYNTAX> のシステムエラーが出ますが、どういうエラーだったか、詳細を出してくれるようになりました。
IRIS ターミナルの例と比較してみます。
.png)
<SYNTAX> に続けて、Invalid command: 'sett' と表示してくれました。
その他、ネームスペース切り換え、[Ctrl + c ]で強制終了、Halt(または H)でターミナル終了、は通常のターミナルと同じです。
一部の機能は残念ながら使えないものもありますので、以下ご紹介します。
SQLシェル/Pythonシェルの起動:
通常のターミナルでは、SQL シェル、Python シェルへの切り替えに、コマンドショートカット(:s や :p)が利用できますが、残念ながら Lite Terminal ではそれらが利用できません。
ご参考:IRIS ターミナルで履歴からのコマンド実行、コマンドのショートカット作成ができるのをご存知ですか?
各シェルへの切り替えは、以下のシステムオブジェクトのメソッド実行をご利用ください。
- SQL シェルに切り換える場合は、do $SYSTEM.SQL.Shell()
- Python シェルに切り換える場合は、do $SYSTEM.Python.Shell()
USER>do $SYSTEM.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]USER>>quit
USER>do $SYSTEM.Python.Shell()
Python 3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>>
ここまでの内容はドキュメントにも掲載されています。👉Using the InterSystems Lite Terminal
最後に、どのようにLite Terminalが動作しているのかについてですが、WebSocket を利用しています。
そのため、VS Codeと同じシステム上でも、リモートシステム上でも接続可能です。
なお、この機能は、InterSystems IRISバージョン2023.2以降に接続する場合にのみサポートされていますのでご注意ください。
新しく追加された Lite Terminal、ぜひご利用ください。VSCode 中心の開発スタイルをさらに快適にしてくれるはずです!😀