So, I've spent a couple months using
GitHub Copilot . I've been using it in
VS Code along with the
Lua Language Server extension. Lua LS is free, and I've been documenting much of the template using it. It both provides tooltips within VS Code and can export that information, making it easier to build the documentation website.
GitHub Copilot is definitely worth $10/month for me. I'm not sure how useful it will be to others, but they do offer a free trial, and they did email me before the end of the trial in case I wanted to cancel.
GitHub Copilot is
not a substitute for knowing how to program. It will offer suggestions and it is up to you to know whether the suggestion will do what you want it to do. Sometimes the suggestions feel like magic, and sometimes they're wrong. It seems to me that you have to be pretty decent at reading code and understanding what it does in order to tell the difference between good suggestions and bad ones. And you have to be sufficiently familiar with TOTPP Lua and the template to know if it is suggesting real functions. I suppose a decent amount of this ability to distinguish good code from bad could be substituted with actually testing the code with the game.
In addition to sometimes "magically" knowing exactly what you want to do based on the function name (and, maybe, comments you've written earlier in the code), Copilot is also pretty good at doing repetitive tasks after a couple of examples. It is also good at generating error messages for if statements that "guard" against bad inputs. Furthermore, I find it quite good at doing "standard" programming tasks, like counting things, where I might sometimes stop to think "how
exactly do I write this".
If you hesitate to spend $10/month to enhance a hobby unless its
really worth it (which I totally understand), I'd suggest getting to the point where you can complete a decent size Lua project (at least mostly) on your own, before trying GitHub Copilot. (Also become comfortable with VS Code beforehand.) That way, you can get a good idea of what it can offer during the trial period, without being inhibited by the process of learning programming.