Script Debugger 7 Feature Comparison

Here is a draft of the Script Debugger 7, 7 Lite and 6 feature comparison chart.

Editing

Feature 7.0 7.0
Lite
6.0
Tabbed document windows
Multiple windows on the same script
Restore open scripts on launch
Script templates
Code folding
Split-pane editing
Regular Expression find and replace
Auto-Indentation
Auto-pairing of delimiters ({[« »]})
Auto-close AppleScript blocks
Auto-generate tell blocks (by dragging applications from dictionary or using Paste Tell command)
   Generate tell blocks using application IDs
Auto-generate object specifiers (by dragging from explorers or using the Paste Tell command)
Auto-generate variable references (by dragging from Variables tab)
Auto-generate file references (by dragging from the Finder)
Option-click to lookup ASObjC references in Dash
AppleScript block and delimiter balancing
AppleScript block highlighting (when mouse hovers in gutter)
Line number display
Line wrapping
Invisible and control character display
Table of contents menu
Text substitution (with clipping placeholder support)
Tell block builder
Open Quickly (discontiguous Spotlight script searches)
Manifest
Status bar
External editing of scripts (using BBEdit or another ODBEditorSuite compatible editor)
Code completion of AppleScriptObjC terminology
AppleScriptObjC refactoring
Shift/Indent lines
Entab and Detab
Implicit parent script
Implicit tell target
Dropped file handling (create tell block, paste HFS/Posix/Finder file reference, contents)
Clippings menu and clippings inspector (with clipping placeholder support)
Clippings placeholders
   Dates, times, usernames, paired and unpaired names
   Application picker
   Library picker
   ASObjC placeholders
Tell Context inspector
Dictionary inspector
Recording
   AppleScript recording
   Recording explorer actions

Files

Feature 7.0 7.0
Lite
6.0
Open and save all AppleScript file formats
Browse past document versions
   View/Restore past versions
   Execute past versions without restoring
   Debug past versions without restoring
Code Signing (requires Developer ID code signing certificates from Apple)
   Always-on code signing on save
   Code signing on export Run-Only
Bundle editing
   Bundle attributes (bundleID, copyright, version, build number)
   Auto-increment build number on save
   Minimum OS version
   Application Transport Security control
   Create background only applets
   Droplet file filtering by Uniform Type Identifiers
   Droplet file filtering by filename extensions
   Bundle contents (script libraries, resources, etc.)
Auto-Save and recovery
Recover damaged scripts
Export Run-Only
   Convert bundled scripts to Run-Only
   Embed used libraries
   Code signing
Create enhanced applets and droplets
Prevent dependant application launches when opening scripts
User created script templates

Execution

Feature 7.0 7.0
Lite
6.0
Run script and see result
Debugging
   Single step execution
   Tracing
   Breakpoints
   Break on AppleScript exceptions
   Expressions
   Code coverage
   Call stack displaying associated local variables
   Floating mini debugger window
   External debugging (debug scripts running within other applications)
Script timer
Display properties and global variables (when script finishes)
Display properties and global variables (while paused when debugging)
Variable deletion (while paused when debugging)
Drag & drop manipulation of variable values
Drag & drop manipulation of list, records and script objects
Event simulation (open, run, idle, quit, Folder Actions, Digital Hub)
Implicit tell target
Display arbitrary expressions
Expression tooltips
Leaked resources detection (e.g. unclosed file references)
Event logging
   Always-on event logging
   Filter by target application
   Filter by content
   Event logging window (separate from script window)
   Event result explorer
   Show source line for event log entry (when debugging)

Dictionary Viewer

Feature 7.0 7.0
Lite
6.0
Running, recent, favourite and known applications list
Dictionary searching
Cross dictionary searching
Launch and quit applications
Object model hierarchy display
Object model inheritance display
Expanded dictionary documentation
Explorer outlining of objects
   AppleScript lists and records
   “Best” date display
   “Best” file display with Reveal In Finder and QuickLook
   “Best” HTML string display
   “Best” image display
   AppleScript Objective-C scalar display (NSString, NSDate, NSNumber, etc.)
   AppleScript Objective-C collection display (NSArray, NSSet, NSDictionary)
   Exploration of running applications
      View elements and properties
      Edit property values
      Delete object instances
      Move object instances (Drag & Drop)
      Duplicate object instances (Drag & Drop)
   Outliner reloading and scope bar
   Explorer windows (separate from script window)

Miscellaneous

Feature 7.0 7.0
Lite
6.0
Respond to applescript:// URLs
Act as default editor for .scpt, .scprd and .applescript files
Raw Apple Event code display (script, dictionary, outliner, explorer AEPrint view)
Scripting interface
   Document handling (open, close, save, compile, execute)
   Document introspection (get variable and handler meta-data)
   Document view settings
   Dictionary handling (open, close)
   Dictionary view settings
Keyboard shortcut customization
Free maintenance updates

Should be “Create Enhanced Applets & Droplets”

should be: (when mouse hovers in gutter)

should be: Break on AppleScript Exceptions

should be: Table Of Contents Menu

Sometimes “Codesign” is used and sometimes “Code Sign”

Use of “and” and “&” inconsistent. & should only be used when it’s the commonly used name for a feature. Should not replace “and” in a description. ie. Drag & Drop is OK, Lists & Records is not

What is Implicit Parent Script? I’m figuring it must be something important, since it is not in Lite.

Oh, and Ed missed the typo in large, bold font: Miscellaneous instead of Miscelanious.

Thanks for finding all the errors and spelling mistakes. I’ve updated the post with corrected tables.

This is the Parent Script sub-menu at the Script menu:

23%20PM

This is only useful to someone deploying a script within a custom runtime environment that supports nested script contexts (this is something FaceSpan once did).

I’ve tried to add a Script Editor column, but there are some items I don’t understand and some I’m not sure about. Also, I don’t know the syntax to create such tables…

Let us know which ones are not clear and I’ll try and explain them.

As for the form of the table, its an HTML table generated from an OmniOutliner document and pasted into Discourse.

Auto-Generate file references (by dragging from the Finder)
Table of contents menu
Tell block builder
Status bar
Dropped file handling (create tell block, past HFS/Posix/Finder file reference, contents) (difference with Auto-generate above?)
Tell Context inspector
Dictionary inspector
Droplet file filtering by Universal Type Identifiers
Droplet file filtering by filename extensions
Convert bundled scripts to Run-Only
Expressions
Code coverage
Display arbitrary expressions
Expanded dictionary documentation
Explorer outlining of objects
Scripting Interface = scriptable ?

also, why not add code completion of AS code ?

Try it: drag a file from the Finder into your script window. A panel appears giving you lots of options.

In a script, type ta followed by a space character.

See the Show/Hide Status Bar item in the View menu

Yes, its kind of the smae thing. SD offers a range of actions when dropping files. All depends on if the script has an on open handler and the type of file being dropped. For instance, if you drop a script, SD will offer to insert the script’s source into your script for you.

RTFM: Bundle Editor Release Notes

Please see this post

Enable debugging, and start stepping through your code. You’ll see coverage indicators appear in the gutter and in the verical scroll bar. They are a heat bap indicating which parts of your script executes the most.

Some dictionaries provide additional content. SD lets you turn the display of this on and off - see the Show Extra Documentation item in the Dictionary menu.

Yes. I’ll probably expand this to cover different aspects of the scripting interface that SE does not offer (e.g. script introspection).

Simple oversight.

Ok, thank you. I think I have something that includes SE, it’s mostly an exercice to see what I understand of the features though… I have left some questions marks here and there for the most obscure items.

Editing
Feature
	7	7L	6	SE

Tabbed document windows
	•	•	•	•
Multiple windows on the same script
	•	•	•
Restore open scripts on launch
	•	•	•	•
Script templates
	•	•	•	•
Code folding
	•		•
Split-pane editing
	•	•	•
Regular Expression find and replace
	•	•	•
Auto-Indentation
	•	•	•
Auto-pairing of delimiters ({[« »]})
	•	•	•
Auto-close AppleScript blocks
	•	•	•
Auto-Generate tell blocks (by dragging applications from dictionary or using Paste Tell command)
	•	•	•
   Generate tell blocks using application IDs
	•	•	•
Auto-Generate object specifiers (by dragging from explorers or using the Paste Tell command)
	•		•
Auto-Generate variable references (by dragging from Variables tab)
	•	•	•
Auto-Generate file references (by dragging from the Finder)
	•	•	•
Option-Click to lookup ASObjC references in Dash
	•		•
AppleScript block and delimiter balancing
	•	•	•
AppleScript block highlighting (when mouse hovers in gutter)
	•	•	•
Line number display
	•	•	•
Line wrapping
	•	•	•	•
Invisible and control character display
	•	•	•
Table of contents menu
	•	•	•	•
Text substitution with clipping placeholder support
	•	•	•
Tell block builder
	•	•	•
Open Quickly (discontiguous Spotlight file searches)
	•		•
Manifest
	•		•
Status bar
	•		•
External editing of scripts (using BBEdit, TextWrangler or other ODBEditorSuite compatible editor)
	•		•
Code completion of AppleScriptObjC terminology
	•		•
AppleScriptObjC refactoring
	•		•
Shift/Indent lines
	•	•	•
Entab and Detab
	•	•	•
Implicit parent script
	•		•
Dropped file handling (create tell block, paste HFS/Posix/Finder file reference, contents)
	•	•	•	?
Clippings menu and clippings inspector (with clipping placeholder support)
	•	•	•
Clipping placeholders
	•	•	•
   Dates, times, usernames, paired and unpaired names
	•	•	•
   Application picker
	•	•	•
   Library picker
	•	•	•
   ASObjC placeholders
	•		•
Tell Context inspector
	•		•
Dictionary inspector
	•	•	•


Files
Feature
	7	7L	6	SE

Open and save all AppleScript file formats
	•	•	•	•
Browse past document versions
	•	•		•
   View/Restore past versions
	•	•		•
   Execute past versions without restoring
	•	•
   Debug past versions without restoring
	•
Always-on code signing (requires Developer ID code signing certificates from Apple)
	•	•	•
Code sign on export
	•	•	•
Bundle editing
	•	•	•	•
   Bundle attributes (bundleID, copyright, version, build number)
	•	•	•	•
   Auto-increment build number on save
	•	•	•
   Minimum OS version
	•	•
   Application Transport Security control
	•	•
   Create background only applets
	•	•
   Droplet file filtering by Universal Type Identifiers
	•	•
   Droplet file filtering by filename extensions
	•	•
   Bundle contents (script libraries, resources, etc.)
	•	•	•
Auto-Save and recovery
	•	•	•	•
Recover damaged scripts
	•	•	•
Export Run-Only
	•	•	•	•
   Convert bundled scripts to Run-Only
	•	•	•
   Embed used libraries
	•	•
   Code sign
	•	•	•
Create enhanced applets and droplets
	•
Prevent dependant application launches when opening scripts
	•	•	•
User created script templates
	•	•	•	•


Execution
Feature
	7	7L	6	SE

Debugging
	•		•
   Single step execution
	•		•
   Tracing
	•		•
   Breakpoints
	•		•
   Break on AppleScript exceptions
	•		•
   Expressions
	•		•
   Code coverage
	•		•
   Call stack displaying associated local variables
	•		•
   Floating mini debugger window
	•		•
   External debugging (debug scripts running within other applications)
	•		•
Script timer
	•		•
Display properties and global variables (when script finishes)
	•	•	•
Display properties and global Variables (while paused when debugging)
	•		•
Variable deletion (while paused when debugging)
	•
Drag & drop manipulation of variable values
	•	•
Drag & drop manipulation of list, records and script objects
	•	•
Event simulation (open, run, idle, quit, Folder Actions, Digital Hub)
	•	•	•
Implicit tell target
	•		•	•
Display arbitrary expressions
	•		•
Expression tooltips
	•		•
Leaked resources detection (e.g. unclouded file references)
	•	•	•


Recording
Feature
	7	7L	6	SE

AppleScript recording
	•	•	•	•
Recording explorer actions
	•


Dictionary Viewer
Feature
	7	7L	6	SE

Running, recent, favourite and known applications list
	•	•	•
Dictionary searching
	•	•	•	•
Cross dictionary searching
	•	•	•
Launch and quit applications
	•	•	•	?
Object model hierarchy display
	•		•	?
Object model inheritance display
	•		•	?
Expanded dictionary documentation
	•		•
Explorer outlining of objects
	•	•	•
   AppleScript lists and records
	•	•	•
   “Best” date display
	•	•	•
   “Best” file display with QuickLook
	•	•	•
   “Best” HTML string display
	•	•	•
   “Best” image display
	•	•	•
   AppleScript Objective-C scalar display (NSString, NSDate, NSNumber, etc.)
	•		•
   AppleScript Objective-C collection display (NSArray, NSSet, NSDictionary)
	•		•
   Exploration of running applications
	•		•
      View elements and properties

      Edit property values
	•		•
      Delete object instances
	•
      Move object instances (Drag & Drop)
	•
      Duplicate object instances (Drag & Drop)
	•
   Outliner reloading and scope bar
	•		•
   Explorer windows (separate from script window)
	•		•


Event Logging
Feature
	7	7L	6	SE

Always-on event logging
	•	•	•	•
Filter by target application
	•	•	•
Filter by content
	•		•
Event logging window (separate from script window)
	•	•	•	•
Event result explorer
	•		•
Show source line for event log entry (when debugging)
	•		•


Miscellaneous
Feature
	7	7L	6	SE

Respond to applescript:// URLs
	•	•	•	•
Act as default editor For .scpt, .scprd and .applescript files
	•	•	•	•
Raw Apple Event code display (script, dictionary, outliner, explorer AEPrint view)
	•		•
Scripting Interface
	•	•	•	•
Keyboard shortcut customization
	•		•
Free maintenance updates
	•	•	•	•

This is not working for me:

tell application "Keyboard Maestro"
  
  # Script Debugger 7 7.0 (7A31) on macOS 10.12.6
  ta 

end tell

What am I doing wrong?

Are you typing t a <space>?

Do you have the ta Text Substitution turned on in Preferences?

Yes, but the overall Text Substitutions was NOT enabled:

Very nice feature. Thanks.

1 Like