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.