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.