Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "LDT/User Area/New Noteworthy/New Noteworthy 1.1"

(Code analysis)
 
(29 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
== Lighter Documentation ==
 
== Lighter Documentation ==
 +
 +
<small>since 1.1M1</small>
  
 
It is now possible to describe code with significantly ''less'' documentation. We analyze the code, filling documentation blanks from it, making documentation more ''fluent''.
 
It is now possible to describe code with significantly ''less'' documentation. We analyze the code, filling documentation blanks from it, making documentation more ''fluent''.
Line 9: Line 11:
 
== Code analysis ==
 
== Code analysis ==
  
Tables are a key concept of Lua. It is mandatory for ''Koneki LDT'' to handle them right to enable you to code at ease.
+
<small>since 1.1M1</small>
 +
 
 +
Tables are a key concept of Lua. It is mandatory for ''LDT'' to handle them right to enable you to code at ease.
  
 
=== Table Detection ===
 
=== Table Detection ===
  
We managed to summarize <code>#table</code>s nicely in outline. It is obviously now possible to enjoy table content.
+
<small>since 1.1M1</small>
 +
 
 +
We managed to summarize tables nicely in outline. It is obviously now possible to enjoy table content.
 
* Fields
 
* Fields
 
* Functions or Methods
 
* Functions or Methods
 
* Nested tables
 
* Nested tables
'''Note:'''' If you click on <code>#table</code> fields, you will get code navigation to their definition.
+
'''Note:''' If you click on table fields, you will get code navigation to their definition.
 
[[Image:ScreenTypeDetection.png|center]]
 
[[Image:ScreenTypeDetection.png|center]]
<center><small>Type detection</small></center>
+
<center><small>Table detection</small></center>
  
 
=== Module Detection ===
 
=== Module Detection ===
  
Turn your table into a module quite simple: it is ''simply return it''. As below.
+
<small>since 1.1M1</small>
 +
 
 +
Turn your table into a module is quite simple: ''simply return it''. As below.
 
[[Image:ScreenModuleDetection.png|center]]
 
[[Image:ScreenModuleDetection.png|center]]
 
<center><small>Module detection</small></center>
 
<center><small>Module detection</small></center>
Line 29: Line 37:
 
==Completion Enhancements==
 
==Completion Enhancements==
  
===Completion trigger enhancement===
+
===Smarter Completion Trigger===
  
Auto-completion is now available just after a table index have been called or invoked. White spaces after or before dots and colons are also supported and will not break auto-completion anymore.
+
<small>since 1.1M2</small>
  
===More globals variables are suggested===
+
Auto-completion is now available after function calls or  "object" invocations. It is no longer disturbed by whitespaces.
  
On auto-completion, globals variables from the others files in the buildpath (also called sourcepath) of your project will be suggested but at a lower relevance than the others variables. Be careful that the globals variables may not be initialized where suggested, using it without safe checks may thrown runtime errors.
+
[[Image:ScreenEnhanceAutocompletion.png|center]]
 +
<center><small>Completion after invocation</small></center>
  
'''Note''': The suggestion of globals from others files can be disabled in the Lua preference page. Disabling this feature can enhance global performances.
+
===More Globals Variables Suggested===
 +
 
 +
<small>since 1.1M2</small>
 +
 
 +
All globals variables declared in files of your project's buildpath/sourcepath are now suggested in autocompletion.
 +
 
 +
'''Note 1''': This means LDT could propose you globals variables which may not be available at runtime.
 +
 
 +
'''Note 2''': This feature could be disabled in the Lua preference page as it could impact autocompletion performance.
 +
 
 +
[[Image:ScreenGlobalsCompletion.png|center]]
 +
<center><small>Completion on global variables</small></center>
 +
 
 +
[[Image:ScreenGlobalsPreferencePage.png|center]]
 +
<center><small>Preference page</small></center>
  
 
===Natural Completion On Strings===
 
===Natural Completion On Strings===
  
It now possible to trigger completion on <code>#string</code> variable without using the <code>string</code> module. You have completion for <code>mystring:sub(...)</code>.
+
<small>since 1.1M1</small>
 +
 
 +
It now possible to trigger completion on <code>#string</code> variables without using the <code>string</code> module. You have completion for <code>mystring:sub(...)</code>.
  
 
[[Image:RegularStringCompression.png|center]]
 
[[Image:RegularStringCompression.png|center]]
Line 49: Line 74:
  
 
==Better Error Handling==
 
==Better Error Handling==
 +
 +
<small>since 1.1M1</small>
  
 
To speed up syntax error troubleshooting, the output given is now the Lua 5.1 interpreter one. During the process, syntax error detection became about ''10 times faster''.
 
To speed up syntax error troubleshooting, the output given is now the Lua 5.1 interpreter one. During the process, syntax error detection became about ''10 times faster''.
  
 
==Formatter Defaults==
 
==Formatter Defaults==
 +
 +
<small>since 1.1M1</small>
  
 
For a better out of the box experience, formatter now uses Lua's ''2 spaces indentation'' standard by default.
 
For a better out of the box experience, formatter now uses Lua's ''2 spaces indentation'' standard by default.
Line 58: Line 87:
 
==Formatter Enhancements==
 
==Formatter Enhancements==
  
The formatter is smarter when formating Lua expression written on several lines.
+
<small>since 1.1M2</small>
  
==Template of Execution Enthronement can contains more than one file==
+
The formatter is smarter when formating Lua expressions written on several lines.
  
The Execution Environment archive format has changed to allow to create projects initialized with default folders and files. Existing Execution Environments using the old archive format are still supported. See the [[Koneki/LDT/User_Area/Execution_Environment_file_format|create Execution Environment tutorial]]
+
[[Image:ScreenFormatterEnhancements.png|center]]
 +
<center><small>Formatted code</small></center>
 +
 
 +
==Multi-files Template for Execution Environment==
 +
 
 +
<small>since 1.1M2</small>
 +
 
 +
When you create your execution environment, it's now possible to include templates made of severals files and folders, in order to help your users to bootstrap their projects. See the [https://bugs.eclipse.org/bugs/show_bug.cgi?id=407228 create Execution Environment tutorial] to get more details.
 +
 
 +
'''Note:''' Existing Execution Environments using the old archive format are still supported.
  
 
==Debugger Introspection Extensibility==
 
==Debugger Introspection Extensibility==
  
The debugger can now be extended to decode custom user data. See the [[Koneki/LDT/User_Area/introspection_tutorial|custom debugger introspection tutorial]] for further details. By default, LuaJIT user data decoding are supported out of the box.
+
<small>since 1.1M2</small>
  
==Lua Shebang==
+
The debugger can now be extended with inspectors to decode custom data. Inspectors allow the debugger to display data in a more human readable way. See the [[LDT/User_Area/Debugger/ValueDisplay|custom debugger introspection tutorial]] for further details. As explained in the tutorial, the inspector for LuaJIT's cdata is shipped with ''LDT''.
  
The Lua shebang is now supported by the Lua Editor.
+
[[Image:Introspection.png|center]]
 +
<center><small>Debugging a car object using a custom inspector</small></center>
  
 
==Smarter Auto Close==
 
==Smarter Auto Close==
  
''Auto close'' got smarter and feels more natural. It is a silent improvement. If you did not notice it, it indicates it works just fine.
+
<small>since 1.1M1</small>
 +
 
 +
''Auto close'' got smarter and feels more natural. It is a silent improvement. If you did not notice it, it means it works just fine.

Latest revision as of 12:11, 16 July 2014

New & Noteworthy 1.1

Lighter Documentation

since 1.1M1

It is now possible to describe code with significantly less documentation. We analyze the code, filling documentation blanks from it, making documentation more fluent.

ScreenLessDoc.png
Without inference on left, with inference on right.

Code analysis

since 1.1M1

Tables are a key concept of Lua. It is mandatory for LDT to handle them right to enable you to code at ease.

Table Detection

since 1.1M1

We managed to summarize tables nicely in outline. It is obviously now possible to enjoy table content.

  • Fields
  • Functions or Methods
  • Nested tables

Note: If you click on table fields, you will get code navigation to their definition.

ScreenTypeDetection.png
Table detection

Module Detection

since 1.1M1

Turn your table into a module is quite simple: simply return it. As below.

ScreenModuleDetection.png
Module detection

Completion Enhancements

Smarter Completion Trigger

since 1.1M2

Auto-completion is now available after function calls or "object" invocations. It is no longer disturbed by whitespaces.

ScreenEnhanceAutocompletion.png
Completion after invocation

More Globals Variables Suggested

since 1.1M2

All globals variables declared in files of your project's buildpath/sourcepath are now suggested in autocompletion.

Note 1: This means LDT could propose you globals variables which may not be available at runtime.

Note 2: This feature could be disabled in the Lua preference page as it could impact autocompletion performance.

ScreenGlobalsCompletion.png
Completion on global variables
ScreenGlobalsPreferencePage.png
Preference page

Natural Completion On Strings

since 1.1M1

It now possible to trigger completion on #string variables without using the string module. You have completion for mystring:sub(...).

RegularStringCompression.png
Completion on #string variable from assignment
TypedStringCompression.png
Completion on #string variable from explicit typing

Better Error Handling

since 1.1M1

To speed up syntax error troubleshooting, the output given is now the Lua 5.1 interpreter one. During the process, syntax error detection became about 10 times faster.

Formatter Defaults

since 1.1M1

For a better out of the box experience, formatter now uses Lua's 2 spaces indentation standard by default.

Formatter Enhancements

since 1.1M2

The formatter is smarter when formating Lua expressions written on several lines.

ScreenFormatterEnhancements.png
Formatted code

Multi-files Template for Execution Environment

since 1.1M2

When you create your execution environment, it's now possible to include templates made of severals files and folders, in order to help your users to bootstrap their projects. See the create Execution Environment tutorial to get more details.

Note: Existing Execution Environments using the old archive format are still supported.

Debugger Introspection Extensibility

since 1.1M2

The debugger can now be extended with inspectors to decode custom data. Inspectors allow the debugger to display data in a more human readable way. See the custom debugger introspection tutorial for further details. As explained in the tutorial, the inspector for LuaJIT's cdata is shipped with LDT.

Introspection.png
Debugging a car object using a custom inspector

Smarter Auto Close

since 1.1M1

Auto close got smarter and feels more natural. It is a silent improvement. If you did not notice it, it means it works just fine.

Back to the top