The decision about what code editor to use and how to manage your files will be determine by what your priority is. Some people's priority is to use a code editor other than the online Apps Script coded editor. Some people want HTML, CSS and code files stored in separate folders. Some people want to have a formal system of approving code changes, and maintaining multiple versions. Then there's the issue of how easy or hard it is to run your code in order to test it. It's easy to run your Apps Script code when it's bound to a document (Sheet, Doc, Form) Although it's slower to test HTML, CSS and client side Javascript from the online code editor. It's nicer to have a code editor that immediately shows the results of client side code changes. So, there are multiple things to consider.
If you want to code offline then you can use clasp. See:
Unfortunately each option has some weaknesses. I haven't seen good solution for every possible need. I was working on an online code editor that was integrated with the Apps Script API, but stopped working on it and haven't gotten back to it. Plus the only code editor that can run code directly from the code editor is Google's Apps Script editor because Google can integrate the code editor directly with the Google's servers which no one else can do.