The answers that you get on this might vary based on the person who answers you. The Hive is full of many coding resources of various kinds, and Reforged added the lua support so that people using Reforged game version did not need to code in jass. People have created special editors and tools that compile from other languages back to jass for years (such as vJASS, Wurst scripting, etc). Now with the lua support, I have seen even more tools. Some of the people who get really into it use TypeScript to Lua converters, while at least one other guy wrote a C# to Lua converter and builds his map script in C#. So there are many people doing many different things.
As for me, and my personal journey, I originally learned JASS as a kid by making GUI like you said and then pressing the "Convert to Custom Text" button on it. This would generate JASS that matched the GUI trigger I created, and this caused me to slowly learn how to put together triggers from JASS until at some point I was writing pure JASS triggers without using the GUI.
One of the programs that I used along the way was a code editor called JassCraft that I honestly did not find when I did an internet search today. This was a program that I probably used from 2009 until about 2013, and more recently I found a vJASS plugin for Notepad++ that someone wrote and often was using it as a short-term solution if I just wanted to write a script in a hurry. The vJASS plugin for Notepad++ is not really as good as JassCraft at all, though.
This program functioned like a JASS code editor that would highlight syntax, and allow the user to lookup functions that they were calling, including showing the implementation of ingame "Blizzard.j" functions.
It might not be better than what people have today, but it served me well back in the 2010s when I was younger. Unfortunately, I am honestly not sure where I got this JassCraft.exe anymore, because it has simply been in my storage drives for that many years. Jass Craft lets you replace the function library list (common.j / Blizzard.j) from the Warcraft III game in its install folder, so for me when I was doing heavy modifications to my Warcraft III install and needed to check against a customized "common.j" and "Blizzard.j" pair from my mod, Jass Craft was happy to support that too, letting me feed it the custom function libraries from the mod and then write new spells and abilities against those function libraries and test compiling with the syntax checker to ensure that they were likely to work.
At some point, similar features were hacked into the World Editor's binary directly with a program called TESH, but whether that will work for you is probably dependent upon your Warcraft III version.
So, it is mostly a matter of preference. I haven't used Jass Craft much in the last two years since Reforged released, because I tended to do smaller example projects while trying out the new Reforged functions and discussing them with people, so I would just write simple JASS functions in Notepad++ and then copy them into my World Editor when I was done.