I use Emacs … it supports open files remotely (over SSH) as well as having shells(s) open remotely … all in the same environment (i.e. from my Laptop).
I still use the Apps → Develop Apps → Upload files to upload files to Vera … I guess I could extend emacs (That’s the benefit of emacs) to handle the appropriate compression when sending files to/from Vera.
All of my LUA code is in LUA files.
I isolate Vera Interface as much as possible to a few functions.
And try to develop PURE LUA methods that can be tested by running LUA on my PC (also inside emacs) I develop test cases for this PURE LUA code that I can use during future developments/releases.
The slowest part is testing ON Vera … and ZeroBrane would help there … but the most time consuming part is the time to do the Vera TWO-Step
1) Reload Vera
2) Refresh the Browser
Which is often needed when you are changing the software.
I am a long time developer and have used Emacs for 30+ years. I usually have it open next to current IDES while I develop for Java (Android and other), C#, Objective-C, Swift, perl, python, html/css, …