LSLForge

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

LSLForge

LSLForge is an offline IDE for editing and debugging of LSL code. LSLForge is Free/Libre Open Source Software (FLOSS), meaning source is included when you download the software, and you are free to update it and redistribute it.

LSLForge is a derivative of LSL-Plus, forked in September 2011.


LSLForge has the following features:

  • Source Level Debugging:
    • set breakpoints
    • single step through code
    • examine variables all the way up the call stack, including global variables
  • Typical IDE editor features:
    • source code completions
    • integrated information about types, names of built in function arguments
    • documentation hover support
    • auto indentation
    • syntax highlighting
  • A Extensive simulation framework for running multiple scripts and testing concurrency
    • Build an environment with avatars, objects, prims, inventory, etc.
    • Embed any number of scripts in any number of prims
    • Add specialized event handlers to simulate avatar actions or external services (e.g. HTTP servers)
    • Test link message, chat, inter-object email, sensors, touches
  • A Unit Testing framework:
    • specify the code entry point you want to test (a function, or a specific handler in a specific state).
    • specify the expect return value, and/or the expected change to the state of global variables
    • specify the external calls you expect the code to make
    • framework executes the code, checks results, displays test results, and test log.
  • Meta-language features: split your code up into reusable modules, test them separately. LSLForge will create the combined, validated scripts for you for upload into Second Life.
  • Optimization support: inlining, constant folding, pruning of unused elements.
  • Integrated into Eclipse, giving you access to several integrated source code control systems (CVS, Subversion, Git, etc.), Mylyn task management, etc.

ChangeLog

Commit log