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