Written in Lua. Extensible and open.
Windows, Mac OSX, and Linux: your choice.
Run it from any folder. No installation required.
Scope aware selection
Select instances of a variable in the current scope with
Ctrl/Cmd-DblClick. Type a new name.
Go to definition
Go to a local variable/function definition. Navigate back using the history of saved positions.
Select and edit at multiple cursor positions at the same time using
Review and navigate all functions (and their parameters) defined in the current file, including anonymous ones.
With the Windows and OSX installation packages being less than 5MB, it is one of the smallest if not the smallest fully featured IDE.
Tabs or spaces? 2 or 4? As everyone has its own preferences, ZeroBrane Studio gives you sensible defaults and a way to change them.
Debug any Lua application
Set breakpoints before or during debugging. Step in, over, and out. Break and continue your script. Review the call stack. Inspect and modify variables.
Ever opened a new tool and didn’t know where to start? ZeroBrane Studio provides integrated lessons on how to use it and over 50 demo scripts to get you started.
Want to integrate ZeroBrane Studio with your own Lua engine? If none of the provided interpreters work for you, you can write your own as some of the users have done.
Run it without fearing it will take over your computer.
Edit files in Unicode and run scripts with Unicode file names.
Function and expression calltip
Quickly access function description or variable/expression values while debugging.
Detect typos, non-localized variables, and unused parameters before running your code.
Use auto-complete to save time on typing API functions and variable names (scope-aware).
Keep as many files open as you need and navigate them using the file browser or the editor tabs.
Color scheme support
Use one of the provided color schemes (Tomorrow, Zenburn, Solarized and others) or create your own.
Use a convenient way to evaluate variables and expressions (including tables) after every step of the debugger.
Execute your application as you are coding it. Detect syntax and run-time errors quickly; change numeric parameters on the fly with sliders.
for k,v in pairs(tbl) do print(k,v) end works for you, you will not miss the integrated pretty printing of any value in a line or block form.
Use one of the provided translations (English, French, Spanish, Russian, German, Chinese, Esperanto, Italian, and Brazilian Portuguese) or creare your own.
Project file browser
Don’t worry about creating a new project, simply open a folder. The current file will be highlighted in the project tree (as long as it is in one of the subfolders).
Explore not only the call stack with function names, but also all local variables and upvalues for each of the stack frames. Drill down to get values of individual elements in tables.
Want to test something quickly? Run it in the console with full access to your application state and all variables; execute code fragments and change variable values without restarting your application.