I am currently embarking on a rather massive “from scratch” beginners game programming series over on YouTube. One thing that can make the process a hell of a lot smoother for a beginner or veteran alike is a good development environment. As a result I’ve created this page, a summary of the best editors and IDEs for development in Lua using Love specifically. This list contains both full blown IDEs as well as text editors that can be configured to work better with Lua or Love2D. Of course the line between text editor and IDE can be extremely blurry at times, so the distinction doesn’t really matter. Unless otherwise stated, all options on this list are cross platform and have a free version available.
If in doubt, select this one. It’s probably the easiest to configure and perhaps the most Lua and Love focused option out there. With the least amount of effort you will get the most amount of functionality including code highlighting, autocompletion and most impressively, debugging support.
Probably not the ideal choice for beginners, as the IDE itself is rather complicated and you have to configure two different plugins to get things up and running. That said, this is the IDE I will be using for the tutorial series simply because it has an excellent presentation mode, making it good for video demonstrations. With the plugins you get full autocompletion, syntax highlighting and can run your app directly from the IDE. You can’t unfortunately debug. I have done a video on configuring IntelliJ for Love development available here.
Sublime Text is well named, it’s a great text editor, that through package support can get awfully close to full IDE capabilities. It was my go to general purpose text editor for years and is still a very solid option. With the Love2D package you get syntax highlighting, autocompletion and the ability to run your app directly in the editor.
Atom is another editor, very similar in scope to Sublime Text with probably even greater extensibility. The Love-IDE extension brings together a collection of Lua and Love2d plugins to give Atom the ability to run from within the editor, autocompletion and syntax highlighting. I personally find atom kind of slow though, especially to start up. As I find myself loading and closing editors constantly, this becomes a more pronounced negative over time, at least to me.
Another free text editor that can be extended to support Lua and Love development. Using the linked extension it is possible to get autocompletion, however the file is out of date and has only been updated up to Love 0.8.0. There may be a more modern implementation somewhere. As it stands, unless you are invested in Notepad++, I have trouble recommending it over the other great options in this list.
The Eclipse IDE can also be extended to support Lua development using the LDT plugin. I would rather swallow razor blades while juggling live hand grenades than use the Eclipse IDE, but hey... I’m trying not to let my bias show, so I added it to this list. Some people love working in Eclipse, so this may be an option for you. Warning though, Eclipse is extremely unfriendly to beginners, requiring a PHD in Obtuse UI design before mastering... oops, bias showing again.
This is the only option on this list I have no prior experience with. It started life as an editor for Lua scripts for the game Natural Selection, then was released as a commercial Lua IDE, then finally was made free and open source. Following these instructions it can be made to debug Love code. Decoda is available on Windows only.
Visual Studio is perhaps *the* IDE for Windows based developers and thanks to the somewhat recently released Community Editions, it is now available for free. With the BabeLua plugin you get the full package, autocompletion, syntax highlighting and best of all, debugging. For a beginner however, Visual Studio can be a bit daunting, not as bad as Eclipse, but probably comparable to IntelliJ in complexity. Thanks to SiENcE for the heads up.
There are of course a few hundred other options including the ages old VIM and EMACS editor, or for those that like pain, you can use the text editor including with your OS such as Notepad or TextEdit, but you will certainly be leaving a lot of functionality on the table! Did I miss a popular option? If so, let me know!