Written in Lua. Extensible and open.
Windows, MacOS, and Linux: your choice.
Run it from any folder. No installation required.
50+ plugins in the package repository; add your own.
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.
Review and navigate all functions (and their parameters) defined in the current file, including anonymous ones.
Select and edit at multiple cursor positions at the same time using
With the Windows and MacOS installation packages being around 6MB, 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.
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.
Debug any Lua application
Set breakpoints before or during debugging. Step in, over, and out. Run to cursor, break and continue your script. Review the call stack. Inspect and modify variables.
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.
Evaluate variables and expressions (including tables) after every step of the debugger. Expand tables and modify the values.
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 create 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.