{"id":1052,"date":"2016-06-01T15:57:43","date_gmt":"2016-06-01T22:57:43","guid":{"rendered":"http:\/\/markalldritt.com\/?p=1052"},"modified":"2016-06-19T17:05:39","modified_gmt":"2016-06-20T00:05:39","slug":"script-debugger-6-release-notes-6a162","status":"publish","type":"post","link":"http:\/\/markalldritt.com\/?p=1052","title":{"rendered":"Script Debugger 6 Release Notes (6A162)"},"content":{"rendered":"<p>Here is an updated version of the Script Debugger 6 (build 6A162) release notes.  We are very close to completion and this document quite accurately reflects the new features in Script Debugger 6.<\/p>\n\n<p><strong>DISCLAIMER<\/strong>: <font color=\"red\"><em>Nothing is final until the software ships and there is always the possibility that a feature may have to be removed or altered in the final product.<\/em><\/font><\/p>\n\n<h2>1. Code Signing<\/h2>\n\n<p>Script Debugger 6 adopts an always-on approach to code signing.  Once you enable code signing for a script by selecting a developer ID, Script Debugger signs your script each time you save it.  There is no requirement to go through a special Save or Export operation.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/CodeSigning.png\" alt=\"Code Signing\" \/><\/p>\n\n<h2>2. Improved Bundled Script Resource Editing<\/h2>\n\n<p>The Script Debugger 6 bundled script resource editor has been expanded.  You are now able to edit a bundle ID, copyright string, marketing version string and build number.  Script Debugger 6 gives you the option of auto-incrementing build numbers each time a script is saved.<\/p>\n\n<p>Additionally, you are able to identify a Scripting Definition (SDEF) file from your script\u2019s bundle and to select a developer ID to enable always-on code signing for your script.<\/p>\n\n<p>You are able to specify a default copyright string which is used when creating new bundled scripts and applications.  This default copyright string may contain clipping directives which are expanded at the time a new script document is created.<\/p>\n\n<h2>3. Progress Reporting<\/h2>\n\n<p>AppleScript\u2019s progress reporting properties (introduced in Mac OS X 10.10 Yosemite) are fully supported in Script Debugger 6.  When a script begins reporting progress information by setting any of AppleScript\u2019s progress reporting properties Script Debugger 6 responds by adding a progress bar display above the script\u2019s source:<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/ProgressBar.png\" alt=\"Progress Bar\" \/><\/p>\n\n<p>Script Debugger supports both determinate and indeterminate progress reporting.<\/p>\n\n<p>Note also that progress information is shown in the window title bar and the script\u2019s document tab.  You can elect to dismiss the progress display by clicking the \u2018x\u2019 button.<\/p>\n\n<h2>4. Open Quickly<\/h2>\n\n<p>The Open Quickly command, which allows you to easily search for and open scripts containing a particular term in the name or the body of the script, has been heavily revised for Script Debugger 6.<\/p>\n\n<h3>4.1 Improved Search Hit Display<\/h3>\n\n<p>The Open Quickly window highlights the portion of the script\u2019s name, description, Finder comment or script source that matches the search term(s) entered.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/OpenQuickly.png\" alt=\"Open Quickly\" \/><\/p>\n\n<h3>4.1 Discontiguous Searching<\/h3>\n\n<p>Discontiguous search matches are reported (when a single search term is entered), similar to the way Xcode\u2019s Open Quickly command behaves when looking up identifiers and source file names.  When multiple search terms are entered the Open Quickly command looks for each term within the script name, description, finder comment and script source.<\/p>\n\n<p>For example, if you have a series of scripts containing the same \u2018writeToFile\u2019 handler, you can locate these scripts by entering the search terms \u2018write\u2019, \u2018writeToFile\u2019 or \u2018writeFile\u2019.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/OpenQuicklyDiscontiguous.png\" alt=\"Open Quickly Discontiguous\" \/><\/p>\n\n<h2>5. Editor Improvements<\/h2>\n\n<h3>5.1 Code Folding<\/h3>\n\n<p>Script Debugger 6 at long last provides code folding where you can collapse block structures and comments within your code to reduce clutter when editing.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/CodeFolding.png\" alt=\"Code Folding\" \/><\/p>\n\n<h3>5.2 Autocompletion<\/h3>\n\n<p>Improved code completion to include all matching user defined identifiers, commands from target applications and AppleScript Objective-C identifiers.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/Autocompletion.png\" alt=\"Autocompletion\" \/><\/p>\n\n<h3>5.3 AppleScript Objective-C Autocompletion<\/h3>\n\n<p>AppleScriptObjC code completion covers the main Cocoa frameworks, and automatically handles insertion of <code>current application's<\/code> where required. The insertion can be either in-line, or in the form of automatically generated properties, with the ability to refactor between the two forms.<\/p>\n\n<p><img src=\"http:\/\/markalldritt.com\/wp-content\/uploads\/2016\/06\/ASObjCCompletion.png\" alt=\"ASObjC Autocompletioin\" \/><\/p>\n\n<h3>5.4 Automatic \u201cit\u2019s\u201d Correction<\/h3>\n\n<p>If you type &#8220;it&#8217;s &#8221; in code, it will be changed to &#8220;its &#8220;. This avoids the new &#8220;&#8211; Grammar Police&#8221; comment being inserted by the compiler in 10.11 (El Capitan).<\/p>\n\n<h3>5.5 Terminology Clash Avoidance<\/h3>\n\n<p>When using interleaved syntax for handlers, parameters will be escaped with pipe characters if they clash with defined terminology.<\/p>\n\n<h3>5.6 Identifier Case Changing<\/h3>\n\n<p>Script Debugger 6 performs each script compilation in a new AppleScript compiler instance.  This avoids a long standing problem where it was impossible to change the case of a variable, property, handler or script object once the script had been compiled.<\/p>\n\n<h3>5.7 Dash Support<\/h3>\n\n<p>If you have <a href=\"https:\/\/kapeli.com\/dash\">Dash<\/a> installed, you can turn on support so that option-clicking on a word will look it up in Dash. See &#8230; in Preferences.<\/p>\n\n<h3>5.7 Application, Script Library and Framework Picker<\/h3>\n\n<p>Script Debugger 6 offers new powers for placeholders referring to applications, script libraries and AppleScript Objective-C framework names when existing clippings, text substitutions and command completions.  Script Debugger offers a menu of running and favourite applications for application placeholders, a menu of installed script library names for script placeholders and a menu of commonly used framework names for framework placeholders.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/AppPicker.png\" alt=\"App Picker\" \/><\/p>\n\n<h2>6. Debugging Improvements<\/h2>\n\n<h3>6.1 Non-Persistent Global Variables<\/h3>\n\n<p>A new Persistent Global Variables command has been added to the Script menu which allows you to determine if the value of global variables and properties persists from one run to the next.  Note that when Code Signing is enabled, this setting is forced off to match the behaviour of signed scripts.<\/p>\n\n<h3>6.2 AppleScript Objective-C Value Exploring<\/h3>\n\n<p>Script Debugger&#8217;s various explorers now support AppleScript Objective-C object references. Instead of seeing AppleScript Objective-C object references shown as \u00abclass ocid\u00bb id \u00abdata optr00000000F0FB3885FC7F0000\u00bb, Script Debugger 6 shows you details of the object:<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/ASObjCValueExploring.png\" alt=\"ASObjC Value Exploring\" \/><\/p>\n\n<p>As this screen shot illustrates, you are even able to explore into container objects to examine their contents.<\/p>\n\n<h3>6.3 AppleScript Objective-C Value Viewers<\/h3>\n\n<p>Script Debugger 6\u2019s support for AppleScript Objective-C objects extends to displaying \u201cnative\u201d viewers for dates and images. <\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/ASObjCValueViewing.png\" alt=\"ASObjC Value Viewing\" \/><\/p>\n\n<h3>6.4 Breakpoint Dragging<\/h3>\n\n<p>Breakpoints, which allow you mark specific lines of your script where execution will pause in debugging mode, can now be moved by dragging them within the script\u2019s gutter. Additionally, you can delete a breakpoint by dragging it out of the script\u2019s gutter.<\/p>\n\n<h3>6.5 Popover Breakpoint Editor<\/h3>\n\n<p>Double-clicking on a breakpoint in the script\u2019s gutter allows you to edit a breakpoint in a popover window.  You can also summon this popover window using the breakpoint contextual menu or the Edit Breakpoint command in the Script menu.<\/p>\n\n<p><img src=\"http:\/\/blog.latenightsw.com\/wp-content\/uploads\/2016\/06\/PopoverBPEditing.png\" alt=\"Breakpoint Popover\" \/><\/p>\n\n<h3>6.6 Remove All Breakpoints<\/h3>\n\n<p>The Remove All Breakpoints command now confirms with you before removing all your breakpoints to avoid accidental breakpoint removal.<\/p>\n\n<h3>6.7 Remove All Disabled Breakpoints<\/h3>\n\n<p>A new Remove All Disabled Breakpoints command has been added to remove all disabled breakpoints.  Like the Remove All Breakpoints command, this new command confirms with you before removing all your disabled breakpoints to avoid accidental breakpoint removal.<\/p>\n\n<h3>6.8 Improved Current Statement Highlighting<\/h3>\n\n<p>Like Script Debugger 5, Script Debugger 6 moves the current text selection to the current statement as you step through code or pause at breakpoints.  However, Script Debugger 6 does not select the current statement\u2019s trailing newline.  This avoids some visibility problems which occurred for some users with Script Debugger 5 when their current statement highlight color preference was too similar to the system text selection color.<\/p>\n\n<h2>7. AppleEvent Logging Improvements<\/h2>\n\n<h3>7.1 Added Close and Clear Buttons<\/h3>\n\n<p>Added a Clear and a Close button to the Event Log bar within the script window.<\/p>\n\n<h2>8. Dictionary Improvements<\/h2>\n\n<h3>8.1 Open Application Dictionary<\/h3>\n\n<p>When the PrefChooseAppsUsingChooser expert preference is true, the dictionary chooser presented by Script Debugger when opening dictionaries lists scripting additions and script libraries just as the Script Editor does.<\/p>\n\n<h3>8.2 Better Application Scriptability Detection<\/h3>\n\n<p>Script Debugger 6 improves the way it determines if an application is scriptable.  For example, Apple\u2019s Preview application is not recognized as scriptable.<\/p>\n\n<h2>9. Features Removed<\/h2>\n\n<h3>9.1 Mac OS X Version Support<\/h3>\n\n<p>Script Debugger 6 supports Mac OS X 10.10 (Yosemite) or later and Mac OS X 10.11 (El Capitan) is recommended.<\/p>\n\n<h3>9.2 Script Debugger Libraries<\/h3>\n\n<p>Script Debugger 5&#8217;s library inclusion mechanism is no longer supported in Script Debugger 6.  This means that Script Debugger 5&#8217;s Libraries pane has been removed along with the <code>Flatten Script<\/code> command found in the Export submenu of the File menu.  <\/p>\n\n<p>Script Debugger 6 provides a conversion service that translates Script Debugger 5 references into AppleScript <code>use script<\/code> statments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is an updated version of the Script Debugger 6 (build 6A162) release notes.  We are very close to completion and this document quite accurately reflects the new features in Script Debugger 6.<\/p><div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/markalldritt.com\/?p=1052\">Continue Reading<span class=\"screen-reader-text\">Script Debugger 6 Release Notes (6A162)<\/span><\/a><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[6,15,40],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7AQk-gY","_links":{"self":[{"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/posts\/1052"}],"collection":[{"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/markalldritt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1052"}],"version-history":[{"count":7,"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/posts\/1052\/revisions"}],"predecessor-version":[{"id":1150,"href":"http:\/\/markalldritt.com\/index.php?rest_route=\/wp\/v2\/posts\/1052\/revisions\/1150"}],"wp:attachment":[{"href":"http:\/\/markalldritt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/markalldritt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1052"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/markalldritt.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}