Visual Studio Code を使用してスクリプトをデバッグする方法
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
前提条件
前提条件
- .NET 6.0 SDK
- Visual Studio Code
- Visual Studio Code C# 拡張機能
- Sitecore Content Hub CLI のインストール手順はこちら
作業フォルダの初期化
作業フォルダの初期化
まず、Visual Studio Code で Intellisense とスクリプトのデバッグをサポートするために必要なファイルを使用して、作業フォルダーを初期化します。作業フォルダには、任意のフォルダを選択することができます。
次のコマンドを実行します。
初期化後は、作業フォルダに次のファイルが含まれます。
Pull スクリプト
Pull スクリプト
デバッグしたいスクリプトを Content Hub から作業ディレクトリにプルします。
次のコマンドを実行します。
デバッグの開始
デバッグの開始
-
VS Codeで作業ディレクトリを開きます。
-
VS Codeの横にあるアクティビティ バーで [実行] のアイコンを選択します。キーボード ショートカットの
Ctrl+Shift+Dを使用することもできます。
- [実行] ビューの [構成] ドロップダウンを使用して「デバッグ スクリプト」という名前の設定を選択します。
-
起動設定とブレークポイントを設定したら、
F5でデバッグ セッションを開始します。 -
Visual Studio Code により、プロセスにアタッチするように求められます。CLI コマンドの端末出力に表示されるプロセス ID を選択します。
- Content Hub インスタンスでスクリプトをトリガーし、デバッグを開始します。
Visual Studio Code の組み込みデバッガーについては、こちらを参照してください。
スクリプトのデバッグ セッションを開始すると、デバッグ セッションが進行中であることを示すためにエンティティ定義のロック エンティティ M.ScriptDebugLock が作成されます。スクリプトの実行が完了するとロックが再び解除され、Sitecore Content Hub 自体による次の実行処理が可能になります。
プロセスの終了やネットワーク、接続の問題など、ローカル マシンでの特定のイベントによって、ロック エンティティが適切にクリーン アップされないことがあります。その場合、エンティティを手動で見つけて削除するか、次のコマンドを使用できます。
ch-cli scripting cancel-debug -n <your-script-name>
既知の制限
既知の制限
グローバル変数の検査
スクリプトをデバッグすると、グローバル変数 Context と MClient が設定されますが、Roslyn の制限により、現在、Visual Studio Code の変数またはウォッチ セクションのこれらの変数を検査することはできません。
検査が必要な場合の基本的な回避策は、必要な変数を再割り当てし、スクリプト全体で使用することです。
スクリプト コンテキスト
アクション スクリプトのデバッグ時に、Context.ChangeTracker はサポートされていません。