I was wondering what the general process for creating my own plugin should be. I have a few questions in particular that I'm curious about. Is there a way to get a live visualization of what I'm building?
I downloaded the Scheduler plugin awhile back, and I modified it, but I couldn't see the live results of code modifications. I would have to save the document, zip the file, dump it on the server, then 2 - 3 minutes later I would finally be able to see my results. Obviously this is too slow. So my main question is, should I be using the Windows version of Moodle with some way to visualize code being updated live in its proper format?
You should be able to see the results of your changes immediately. (PHP is a non-compiled language, after all.)
Certainly, zip should not be involved between editing the code and seeing the results.
You should have a server on your local machine (Apache / PHP / MySQL or Postgres). See https://docs.moodle.org/dev/Setting_up_development_environment
Ah, this was great advice.
As soon as I hit the Purge all caches button everything was updated. Is there no way to have code auto-update without me having to purge the cache any time I want to see actual changes?
When working on plugins, I turn on debug messages to Developer, Display debug to Yes, Performance info to Yes, and Show page information to Yes. These settings will include a Purge all caches in each pages footer. Then if I am working on any language string changes, I keep a browser tab open to the Language settings page. When you save a change to any string, all you have to do is click, Save changes, on that page for it to immediately be used by your code.
As of Moodle 3.6 (MDL-61244) there will be an option on the Purge Caches screen to
selectively purge the language cache (and a few other specific caches)
so you dont have to purge everything or find a specific settings screen
if you're just changing a specific type of cached data.
It's much faster than clicking links in the browser.