メインコンテンツまでスキップ
バージョン: 開発中

エディターとデバッガー

dicks lsp は標準入出力でLanguage Server Protocol 3.17を扱います。命令とローカル・インポート関数の補完、型付きスタックのホバー表示、モジュールをまたぐ定義ジャンプ、診断、ドキュメントシンボル、整形に対応します。未保存の変更も解析に反映します。ソースの実行、パッケージのダウンロード、環境ファイルの読み込み、ビルドスクリプトの実行は行いません。レジストリの依存があるプロジェクトでは、先にご自身で dicks sync を実行してください。

エディターの補助機能はTypeScriptの意味検査器を使います。コンパイルと本番実行には、引き続き検証済みのDicks製コンパイラを使います。ソースで使える記号は変わりません。名前や説明はエディターのUIだけに表示します。

VS Code​

依存パッケージを持たないローカル拡張機能をビルドします。

node tools/editor/package-vscode.mjs
code --install-extension target/dicks-language.vsix

パッケージャーは既存ファイルを上書きしません。再ビルド時は新しい出力先を指定してください。インストール済みの dicks 実行ファイルがPATHにない場合は、dicks.executablePath を設定します。拡張機能はワークスペースのフォルダーごとに独立したサーバーを起動し、信頼されていないワークスペースでは有効になりません。記号のハイライトとDicksデバッガーの設定も含みます。

ほかのエディターでは、言語サーバーのコマンドに dicks、引数に lsp を指定します。ソースは設定したワークスペースのフォルダー内に置いてください。

ステップ実行​

dicks debug は標準入出力のDebug Adapter Protocolエンドポイントを提供します。VS Codeでは 実行とデバッグ → Dicks を選ぶか、次の設定を追加します。

{
"type": "dicks",
"request": "launch",
"name": "Debug Dicks",
"program": "${file}",
"cwd": "${workspaceFolder}",
"stopOnEntry": true
}

ブレークポイント、続行、一時停止、ステップイン・オーバー・アウト、コールスタック、オペランドスタック、ローカル変数を利用できます。共有された永続データ構造を含め、表示する値の量には上限があります。各操作は独立した意味評価器で実行します。生成JavaScriptやCloudflare基盤ではなく、言語の意味に沿って動作を確認するデバッガーです。言語の実行上限、整数の検査、キャンセルも同様に適用します。開発・本番の認証情報を使わず、プラットフォームのエフェクトは拒否します。現在は純粋関数とバッファ出力を確認でき、対話的なホストのフィクスチャには未対応です。

エラー、未対応のプロトコル要求、古いドキュメントバージョン、不正なフレームは明示的に失敗します。標準出力はプロトコルのメッセージ専用です。