SenseTalkスクリプトチェッカーの使用
Eggplant Functionalスクリプトエディタには、コーディングのベストプラクティスの違反やミスをスクリプトで分析できるSenseTalkスクリプトチェッカーが含まれています。スクリプトチェッカーは、一つ以上のスクリプトの静的解析を行い、変数の使用や他のスクリプトへの呼び出し等の情報を収集し、コード内の可能性のある問題について警告またはエラーの形でフィードバックを提供します。
スクリプトチェッカーは、スクリプトエディタの下部にあります。Script Checkerタブをクリックして、現在のスクリプトに関する情報を表示します:
現在のスクリプトの確認
スクリプトチェッカーは、スクリプトを開いたり保存したりするたびに自動的に実行されます。ただし、Eggplant Functional PreferencesのCheckerタブでこの動作をオフにすることができます。また、Script CheckerタブのCheck Scriptボタンをクリックすると、いつでも現在のスクリプトの詳細な解析を行うことができます。
Script Checkerタブでは、最初にコード内のエラーや警告を一覧表示します。エラーは通常、構文の問題であり、警告は様々な可能性のある問題や推奨されるベストプラクティスをカバーします。
エラーや警告の一覧表示の後、タブではスクリプト内の各ハンドラの詳細な解析を表示します。詳細に深入りするには、行の左の矢印をクリックします。
ハンドラの情報では、そのハンドラに特有のエラーや警告(早い段階でリストされたものを複製し、各特定のハンドラの下にグループ化)、およびハンドラ内の変数の各使用や一般的なコマンドまたは関数呼び出しについての詳細情報を一覧表示します。
用語handler
は、スクリプト内の個々のハンドラに適用され、また、明示的なハンドラがないスクリプトの最初の部分(初期ハンドラ
として知られ、スクリプトと同じ名前が付けられています)にも適用されます。 スクリプトに明示的なハンドラが含まれていない場合、スクリプト全体が初期ハンドラになります。したがって、handler
という用語は、任意のスクリプトやハンドラに適用されます。
SenseTalkのハンドラについての詳細情報は、Handlersを参照してください。
テックトーク
一般的な呼び出しとは、あなたのコード内のカスタムスクリプトやハンドラを呼び出す可能性のある一般的な構文を使用するものです。例えば、コマンド
log foundImageInfo()
は一般的なコマンド構文(コマンド名に続いて一つ以上のパラメータがオプションで付けられる)なので、スクリプトチェッカーによってlog
コマンドへの一般的な呼び出しとしてリストされます。このコマンドはまた、foundImageInfo
関数への一般的な関数呼び出しも含んでいますが、これもリストされます。
しかし、コマンド
set total to 0
は一般的ではありません。これはSenseTalk言語の一部である特殊な構文を含んでいます。このようなコマンドは、スクリプトチェッカーにはリストされません。
分析の行をクリックして選択すると、スクリプト内の対応する行や単語がハイライトされ、表示されるようにスクロールされます(該当する場合)。一部の行は要約情報を提供し、選択しても何もハイライト表示されません。
選択したアイテムの分析の行を通じて矢印キーを使用してナビゲートすることもできます。選択を移動するには、上下の矢印キーを使用します。階層の一部を展開および折りたたむには、左右の矢印キーを使用します。
Script Checkerタブはスクリプトエディターの下部に表示され、現在のスクリプトの情報を表示します。スクリプトエディターで異なるスクリプトタブ間で切り替えると、スクリプトチェッカーはエディター内の現在のスクリプトの情報を常に表示するように変更します。
スクリプトスイート全体とスイート間のチェック
現在のスクリプトを分析するだけでなく、スクリプトチェッカーを使用して、スイート内のすべてのスクリプトについての情報を提供することができます。また、他のスイートのスクリプトについても情報を提供します。これらの全スイートチェックと複数のスイートチェックは、次の追加の利点を提供します:
- いくつかのスイートを横断して多くのスクリプトについての情報を提供します
- スイートレベルでのみ行うことができる追加のチェックを実行します
- エラーと警告のみを表示する効率的な出力を表示します
スイート全体の分析や複数のスイートの分析を実行するには、現在のスイートのCheck Allダイアログボックスを開くためにScript Checkerボタンをクリックします。
このウィンドウの上半分には、分析可能なスイートを表示するSuites to Includeセクションが含まれています。デフォルトでは、リストにはスイート自体と、設定タブのヘルパースイートセクションで定義された任意の接続されたヘルパースイートが含まれています。
リストの下のAddボタンを使用して、ヘルパーとしてリンクされていないスイートを追加します。たとえば、スイートのスクリプトがthe FinalSuites
またはthe InitialSuites
グローバルプロパティに他のスイートを動的に挿入してアクセスする場合、それらのスイートを分析リストに追加する必要があります。
現在のリストはスイート内に保存されるため、同じスイートを将来のスクリプトの分析時に簡単に再利用できます。
スイートを追加する と、そのヘルパースイートとそれらのヘルパースイートなどもリストに追加されます(すでに存在しない場合)。
Check All Scriptsをクリックして、分析リスト内のすべてのスイートのスイート全体のスクリプト分析を実行します。分析の結果はウィンドウの下半分に表示されます。リスト内の任意のスイートのチェックボックスをクリアして、そのスイートの分析を無効にすることができることに注意してください。
分析の出力には、各スイートのトップレベルのアイテムと、スクリプト間分析のための1つ以上のアイテムが含まれています。
個々のスイート分析アイテムには、そのスイート内のスクリプトのアイテムのみが含まれています。これは1つ以上のエラーまたは警告が検出されました。エラーや警告のないスイート内のスクリプトは含まれていません。
スクリプト間分析セクションには、検出された場合、以下のタイプの警告が含まれています:
- スクリプトまたはハンドラーが定義されていません
- ハンドラーは定義されていますが、使用されていません
- スクリプトまたはハンドラーが重複して定義されています(名前による)
エラーアイテムや警告アイテムをクリックすると、対応するスクリプトが開き、関連する行や単語がハイライト表示されます。選択したアイテムのスイート自体が開いていない場合、このアクションはスイートを開きます。
スクリプトチェッカーの設定
スクリプトチェッカーが返す情報を調整するには、Eggplant PreferencesのCheckerタブの設定を変更します。Eggplant > Preferencesに移動するか、またはScript Checkerダイアログボックス上のOptionsをクリックしてPreferencesを開きます。