LSLForge

From Second Life Wiki
Revision as of 10:19, 13 April 2017 by Ghost Menjou (talk | contribs)
Jump to navigation Jump to search

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

[1]