RokuBradO
13 years agoVisitor
New Eclipse Plugin Release 5/16/2013
A new update to the BrightScript Eclipse Plugin is available via the updates site:
http://rokudev.roku.com/updates/
The full Eclipse Plugin Guide can be found here:
http://sdkdocs.roku.com/display/sdkdoc/ ... ugin+Guide
Release Notes:
While there where several unrelated bugfixes and new features, this release focused primarily on finishing the foundation of the type system and improving other feature groups that benefit from the expanded type system.
The type system is the basis of other feature groups including autocompletion (code assist), hover docs, and various type-related parse and build-time checks.
The type system had previously provided the knowledge of BrightScript global functions, but has been expanded to include Components, Interfaces, Events, and each of their associated functions and subs. The embedded docs (used in hover and autocompletion) for each of these items are a work-in-progress and will be improved over the next few releases.
Autocompletion is now invoked automatically after a short delay in typing (user preference, defaults to 200ms), when the last character typed is a dot ("."). The manual invocation of autocompletion at any point is still available via CTRL-Space. The relevant type system additions (interfaces, functions/subs) now show up in the autocompletion suggestions list window, along with their docs in the associated docs window. Additionally, the suggestions list includes variables defined in the current function/sub, including associative array member variables.
Hover docs - A documentation window will display when you hover the cursor over most variables function/sub calls, interface references, etc.... Note: there are several known bugs related to the new type system that sometimes prevent this from happening.
The docs processing has been improved with added support for annotation tags, similar to the docs annotation systems used by other languages (e.g. javadocs, doxygen, etc).
Both the built-in type system and user code (i.e. functions/subs and variables) will be able to use these tags. More details on this topic in the coming releases as specifics are finalized.
The Debug console usability has been improved in a few ways. The long-standing cursor positioning bug has been fixed - the cursor should now be automatically and correctly shown at the end of the console output. The left arrow is also now prevented from moving into the prompt and output areas, although you may still manually place the cursor there for cut/paste purposes.
The Debug console now includes simple command history support. The up and down arrows move thru the command history stack. User-preferences for the command history size (defaults to 1000) and whether or not to persist across sessions (defaults to false) have been added.
Task tags (TODO, FIXME, user-defined, etc.) are now working as expected.
Bugfixes:
Code folding - "initially folding" options are ignored
Autocompletion - does not recognize interface names in already typed dot expression
Autocompletion - fails when item to be completed is the last line (or part of last statement) of a function/sub
Autocompletion - suggestions list does not include interface names
Debug Console - Cursor incorrectly is always at the beginning of the line
Language Parser - GetGlobalAA global function missing from parser grammar
Language Parser - Some global function calls cause editor open failure with nullpointerexception
Selection Engine - Highlighting a function reference and then selecting Show in-> Outline View does not do anything
Selection Engine - Open Declaration does not do anything
TODO tasks don't show up in the Task view
Type system - Erroneous type func/sub call error - says func/sub must be disambiguated by interface name, when the name matches but not the signatures do not
Type System - Non-Windows platforms get stacktrace (NullPointerException) when attempting to open BrightScript source editor
Enhancements:
Debug Console - Add support for command history recall
Docs system - Add support for docs annotation tags to improve help display
Editor - Add line number display to left-hand margin
Export Wizard - Improve error handling and error message for failed connections and provide exposed user preferences for each type of connection
Language Parser - Add context-specific, fine-grained error recovery to parser
Language parser - Add syntax checking, code completion, and help support for all pre-defined components
Language parser - add type inference system to support type-related parse and build-time error checking and warning generation
New Resource Wizards - Add a "New BrightScript File" wizard and menu entry
Type System - Add a user preference to determine whether or not to perform type related warning/error checks
http://rokudev.roku.com/updates/
The full Eclipse Plugin Guide can be found here:
http://sdkdocs.roku.com/display/sdkdoc/ ... ugin+Guide
Release Notes:
While there where several unrelated bugfixes and new features, this release focused primarily on finishing the foundation of the type system and improving other feature groups that benefit from the expanded type system.
The type system is the basis of other feature groups including autocompletion (code assist), hover docs, and various type-related parse and build-time checks.
The type system had previously provided the knowledge of BrightScript global functions, but has been expanded to include Components, Interfaces, Events, and each of their associated functions and subs. The embedded docs (used in hover and autocompletion) for each of these items are a work-in-progress and will be improved over the next few releases.
Autocompletion is now invoked automatically after a short delay in typing (user preference, defaults to 200ms), when the last character typed is a dot ("."). The manual invocation of autocompletion at any point is still available via CTRL-Space. The relevant type system additions (interfaces, functions/subs) now show up in the autocompletion suggestions list window, along with their docs in the associated docs window. Additionally, the suggestions list includes variables defined in the current function/sub, including associative array member variables.
Hover docs - A documentation window will display when you hover the cursor over most variables function/sub calls, interface references, etc.... Note: there are several known bugs related to the new type system that sometimes prevent this from happening.
The docs processing has been improved with added support for annotation tags, similar to the docs annotation systems used by other languages (e.g. javadocs, doxygen, etc).
Both the built-in type system and user code (i.e. functions/subs and variables) will be able to use these tags. More details on this topic in the coming releases as specifics are finalized.
The Debug console usability has been improved in a few ways. The long-standing cursor positioning bug has been fixed - the cursor should now be automatically and correctly shown at the end of the console output. The left arrow is also now prevented from moving into the prompt and output areas, although you may still manually place the cursor there for cut/paste purposes.
The Debug console now includes simple command history support. The up and down arrows move thru the command history stack. User-preferences for the command history size (defaults to 1000) and whether or not to persist across sessions (defaults to false) have been added.
Task tags (TODO, FIXME, user-defined, etc.) are now working as expected.
Bugfixes:
Code folding - "initially folding" options are ignored
Autocompletion - does not recognize interface names in already typed dot expression
Autocompletion - fails when item to be completed is the last line (or part of last statement) of a function/sub
Autocompletion - suggestions list does not include interface names
Debug Console - Cursor incorrectly is always at the beginning of the line
Language Parser - GetGlobalAA global function missing from parser grammar
Language Parser - Some global function calls cause editor open failure with nullpointerexception
Selection Engine - Highlighting a function reference and then selecting Show in-> Outline View does not do anything
Selection Engine - Open Declaration does not do anything
TODO tasks don't show up in the Task view
Type system - Erroneous type func/sub call error - says func/sub must be disambiguated by interface name, when the name matches but not the signatures do not
Type System - Non-Windows platforms get stacktrace (NullPointerException) when attempting to open BrightScript source editor
Enhancements:
Debug Console - Add support for command history recall
Docs system - Add support for docs annotation tags to improve help display
Editor - Add line number display to left-hand margin
Export Wizard - Improve error handling and error message for failed connections and provide exposed user preferences for each type of connection
Language Parser - Add context-specific, fine-grained error recovery to parser
Language parser - Add syntax checking, code completion, and help support for all pre-defined components
Language parser - add type inference system to support type-related parse and build-time error checking and warning generation
New Resource Wizards - Add a "New BrightScript File" wizard and menu entry
Type System - Add a user preference to determine whether or not to perform type related warning/error checks