Off topic (sorry for that):
When you split up your code into smaller functions, you will likely discover that those can sometimes be generalised further (similar procedures with just tiny changes), for this, the type system can be extremely helpful.
This is more or less the status where you are currently stuck, if I understood correclty, or at least you are reaching that point.
I’d suggest a very simple method: create your own Julia package and give it a generic name like Tools
or so and dump everything in there. You will then be able to maintain those functionalities separately and isolate them into their single namespace. I am sure, the functions you export there will not only be used in a single project. Start sorting those types and function into their own files and include them in the main module.
At some point, you will end up with a large set of useful functions and should start thinking about creating multiple spin-off packages out of them.
This is at least an approach which I usually recommend to people coming from Matlab or ROOT, both are languages/frameworks which somehow encourages the users to write long functions with lots of variables and nested loop. I can assure you that this style of coding is generally a very time consuming task, not only from the development but also from the maintenance perspective (we spent so much resources in the past years to rewrite such code). One of the most crucial things is the impossibility to reuse implementations which otherwise could be useful in other peoples work either.
On topic:
I totally agree that Julia’s debugger capabilities are not comparable to those in Visual Studio (not Code), Matlab or similar, but I do not understand most of the reasonings when people are complaining about it. To me, it seems that most of the complaints about the debugger contain two orthogonal problems and both of them are real: on one hand the debugger and on the other hand bad code organisation.
Thinking that a debugger will save you time and make your life easier when you write hundreds of lines of functions with hundreds of variables is a misconception in my honest opinion. I don’t think that a debugger is the right tool debug such code, I think that refactoring, splitting it up and introducing unit tests is the right tool for this job.
To me, the debugger (in any language I have worked with so far, C, C++, C#, Java, Delphi, Python and Julia) is mostly used when understanding other people’s code, to quickly get a feeling about what’s happening in the code, where it jumps around and so on. For this purpose, a debugger can be slow and I have absolutely no complaints about the possibilities we now have in Julia.
That’s of course a personal thing and I understand that other people might have different habits. I however think, as written above, that many times these are simply “bad” habits that let people think that a (fast) debugger is required in first place.