Child pages
  • New in 7.0

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Code completion inside JSDoc for supported JSDoc tags and types
  • Support for inline JSDoc to provide type information for objects: 
    Code Block
    function demo(){
       /** @type {JSFoundSet<db:/udm/contacts>}*/
       var x = databaseManager.getFoundset('udm', 'contacts');
       x. //Code-completion here will know that x is a FoundSet on table Contacts in the UDM database, thus will include all columns, calculations and aggregates
    }
  • Support for the @deprecated tag: When a variable or function is marked as deprecated any reference to the object will generate a builder marker
  • Support for the @private tag: Hides the object for access from outside the current scope. Accessing the hidden object from outside the scope in which it is defined will generate a builder marker 
  • Support for typed Arrays: 
    • Wiki Markup
      @type String\[\]&nbsp;
    • @type Array\<String\>
  • Support for typing JSFoundSets and JSRecord to be of a specific datasource: 
    • @type JSFoundset\<datasource\> 
    • @type JSRecord\<datasource\>
      (a datasource string is build up like this: "db:/{serverName}/{tableName}", so for example "db:/udm/contacts")
  • Support for rest parameters: Allows to indicate through JSDoc that a function can take unlimited trailing arguments of the specified type:
    Code Block
    /**
      * @param {...String} someExtraStrings One or more additional String can be send into this function
      */
    function methodWithRestParams(someExtraString){}
    
    
    function test() {
       methodWithRestParams('one', 'two', 'three', 'four');
    }
  • Support for @AllowToRunInFind on functions to indicate that the the function should be executed on event handlers while in FindMode:
    Eliminates the //controller.search() workaround. Note that that running JavaScript while in FindMode has it's limitations and not all behavior is 100% defined. More details will follow.
  • Support for @constructor tag, to indicate that a function declaration is to be used as a Constructor. Functions marked as Constructor also display differently in the Script Outline view 
  • Automatic JSDoc @type setting on global and Form variables
  • Ability to update the type of a variable by updating the JSdoc @type tag value AND the default value

...

  • Overall much better context aware code-completion
  • Support for code-completion on inline Java: The support is on Class level, not Package level:
    • Packages.java. //Code-completion here won't yield anything
    • Packages.java.lang.System. //Code-completion here works
  • Deprecation decorator on deprecated objects:
  • Type Icons in code-completion popup
  • Method return type info in code-completion popup
  • Originating Scope info in in code-completion popup 
  • Scripting overloading support 

...

  • completion popup 
  • Scripting overloading support 

Misc.

  • Support added for "Mark Occurrences": highlights all occurrences of a the selected work in the Script Editor. Also see Window > Preferences > JavaScript > Editor > Mark Occurrences
  • Support for Call Hierarchy on Methods: When invoked on a function declaration or reference (through keyboard shortcut Control-Alt-H), the Call Hierarchy view is opened and shows the method call hierarchy.
    Image Added
  • Better support for advanced JavaScript code structures
  • Added support for Content Assist - Parameter Hints (Control-Shift-Space): Shows a tooltip with the function's parameters with their types, when invoked withing the parameter area of the function declaration "(...)". a3: When the function is overloaded, first a popup is shown to select a specific variant:
    Image Added

Image Added

  • Fixed expand/collapse behavior when saving the Script Editor after adding new variables or functions
  • a3: Made it possible to collapse/expand the multi-line content of variables (multi-line Strings, XML, Functions and Objects)
  • a3: Added support for putting comments in script files (.js files) outside functions and outside JSDoc tags linked to variables and functions. Note that the comments are lost in the following scenario's:
    • When using Servoy Repository for team development: The Servoy Repository stores individual variables and functions, so anything else in the .js file is lost. Solution: use SVN instead which is file-based
    • When exporting the Solution to a .servoy file: just like the Servoy Repository, the .servoy export format only contains the individual variables and functions. When the .servoy file is used to move a Solution from development into test/Q&A/production, there should be no issue loosing the comments. However, if the .servoy export is going to be used to transport the source into another workspace/development environment, the loss of the extra information could be unwanted. In this case the solution would be:
      1. Share sourcecode between different developers by allowing (anonymous) checkout from the source repository used (for example SVN). 
      2. Use the native Eclipse Archive file export/import functionality to export and later import an entire Eclipse project (a.k.a. Servoy Solution) 
  • Fixed indentation of code when pasting code into the Script editor
  • Fixed indentation of code when moving code using the "Move Sample" and "Move Code" buttons in the Solution Explorer viewFixed indentation of code when pasting code into the Script editor
  • Prevented Typing info to get inserted by "Move Code"
  • Show Parameter Hints after "Move Code" 

Still to be done

  • Investigate if the "Paste to JavaScript console" option in the Context menu of the Script Editor can be removed or made to work
  • Investigate if the "Run as ..." and "Debug as ..." options in the Context menu of the Script Editor can be removed or made to work
  • Bring back support for the old way to type a foundset or records to belong to a certain database and table
  • Full support in JSDoc for typing as a specific type of Form: "@type Form<myformName>". Current support does not include Form variables and Form methods  

...