env(環境変数)
パスや設定値の定数化
ファイルの出力先ディレクトリなどをGUI上で変数(例:DEST_DIR)として定義します。プログラムに直書きしないためエスケープミスを防ぎ、パスの存在チェックも画面上で行えます。
呼び出し例:$env.DEST_DIR
npm installも不要。ログファイルを一部抽出したい。
数百行のCSVをSQLに変換したい。
ほんの数行のスクリプトで済むはずの処理でも、動かすためには、作業用ディレクトリ、実行設定、入力ファイルを読み込むためのコードが必要になる。
Trace Kernelでは、環境構築や実行設定をアプリ側の実行基盤が引き受けます。
CSVやログ、対象ディレクトリをGUIで登録し、workには処理本体だけを書く。
実行結果はアプリ内の出力パネルで確認できます。
思い立ったらアプリを開き、その場でコードを書いて実行できます。

CSV、ログ、対象ディレクトリ、固定値などを、ワークスペース上のコンテキストとして登録できます。
登録したコンテキストはMonacoエディタに型情報として注入され、TypeScriptから補完付きで参照できます。
入力ファイルを読み込むための定型コードを書かずに、処理本体から始められます。
パスや設定値の定数化
ファイルの出力先ディレクトリなどをGUI上で変数(例:DEST_DIR)として定義します。プログラムに直書きしないためエスケープミスを防ぎ、パスの存在チェックも画面上で行えます。
呼び出し例:$env.DEST_DIR
テキストやCSVを直接オブジェクト化
GUIのテキストエリアにCSVやTSVを貼り付け、「CSV to JSON」パースを指定するだけで、自動でJSONオブジェクトの配列としてプログラムに注入されます。面倒な文字列分割処理を書くことなく、即座にループ処理へ移行できます。
呼び出し例:$resource.userData
ローカルPC内の大量ファイルを安全にバインド
指定したディレクトリ配下から、複雑なフィルタ条件(例:.gitフォルダを除外し、*.javaのみ抽出)に合致するファイルだけをGUIで直感的に抽出。数万のファイル群でも遅延ロードで安全に走査・解析が可能です。
呼び出し例:$dataset.workspace
プログラムの実行結果は、アプリ内の出力パネルに直接表示されます。
Trace Kernelでは、$で始まる独自APIを使って、出力、進捗表示、テーブル表示などをプログラムから扱えます。
単純なテキストは$print / $printlnで出力し、長時間の処理は$stateで進捗や現在処理中のファイル名を表示できます。
出力を用途ごとに分けたい場合は$channelで複数のストリームを作成し、テキストやテーブルとして結果を確認できます。
$state)大量ファイルの走査や変換処理では、完了までに時間がかかることがあります。$stateを使うと、プログレスバーやモニターを表示し、処理件数や現在処理中のファイル名をログとは別に確認できます。
$channel)$channelを使うと、ログ、集計結果、エラー一覧などを別々のストリームに分けて出力できます。テーブルストリームを使えば、集計結果を行と列の形で確認できます。
Trace Kernelでコードを実行するために、作業ディレクトリへpackage.jsonやコンパイル後の.jsファイルを作る必要はありません。
実行に必要なコードや設定は、アプリ内のワークスペースで扱われます。コードを動かすために、物理的な作業ディレクトリや実行用ファイルを用意する必要はありません。

| 通常の開発環境 | Trace Kernel |
|---|---|
| プロジェクトを作成してコードや設定ファイルを管理する | 物理ファイルを作らず、アプリ上のワークスペースでリソースとプログラムを管理する |
| npm install やビルド設定を用意する | アプリ内の実行環境でTypeScriptを実行する |
| 入力ファイルを読み込むボイラープレートを書く | GUIで登録したログやCSVが、プログラム上の補完候補として使える |
| プログラムを実行するためにコマンドを叩く | 実行ボタン、またはエディタ画面のショートカットキーで即実行する |
より詳しい考え方は、通常の開発環境との違いで説明しています。
Trace Kernelは、VS CodeやNode.jsプロジェクトの置き換えではありません。開発環境を組むほどではないが、手作業では曖昧になりやすい処理を、TypeScriptで明示して実行するための環境です。
Trace Kernelは、アプリやライブラリを開発するためのIDEではありません。
ログ解析、データ変換、ファイル調査のような技術作業を、TypeScriptでその場で処理するための作業環境です。
そのため、以下のような本格的な開発プロジェクトの管理や運用は対象外です。
初めて使う場合は、まず基本ワークフローで作業の流れを確認してください。GUIで登録した情報がコードからどう見えるかを知りたい場合はContext概要、プログラムから使える機能を確認したい場合はAPI概要が入口になります。
アプリを入手する場合は、Downloadから最新版を確認してください。