Open source Written in Lua. Extensible and open.
Cross-platform Windows, macOS, and Linux: your choice.
Portable Run it from any folder. No installation required.
Lightweight Run it without fearing it will take over your computer.
Extensible 60+ 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.
Fuzzy symbol search Search project symbols by partial function or argument name (Search | Navigate | Go To Symbol…).
Multi-cursor editing
Select and edit at multiple cursor positions at the same time using Ctrl/Cmd-Click
and Ctrl/Cmd-Select
.
Small With the Windows and macOS installation packages being around 6MB, it is one of the smallest if not the smallest fully featured IDE.
Configurable Tabs or spaces? 2 or 4? As everyone has its own preferences, ZeroBrane Studio gives you sensible defaults and a way to change them.
Instantly usable 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.
Unicode friendly Edit files in Unicode and run scripts with Unicode file names.
Markers Quickly navigate bookmarks and breakpoints in opened project files.
Fuzzy file search Search project files by partial name (Search | Navigate | Go To File…).
File Search/Replace Search project files for text fragments and replace with preview and undo.
Function and expression calltip Access function description or variable/expression values while debugging.
Static analyzer Detect typos, non-localized variables, and unused parameters before running your code.
Auto-complete Use auto-complete to save time on typing API functions and variable names (scope-aware).
Multi-file editing 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.
Function outline Review and navigate all functions (and their parameters) defined in the current file, including anonymous ones.
Watch view Evaluate variables and expressions (including tables) after every step of the debugger. Expand tables and modify the values.
Live coding Execute your application as you are coding it. Detect syntax and run-time errors quickly; change numeric parameters on the fly with sliders.
Pretty printing
If 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.
Translatable interface Use one of the provided translations (English, French, Spanish, Russian, German, Chinese, Esperanto, Italian, Bulgarian, 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).
Custom interpreters 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.
Stack view 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.
Interactive console 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.