Code editors are typically considered good when they have features like syntax highlighting, type checking (if its not built into the language) and code formatting. However, I feel like most of these features are more designed to help you debug after the code is written, rather than help you build as you're writing code. Most of the time it feels like I'm juggling lots of concepts and ideas in my head as I'm writing without a place to write them.

Something that would help you build is integrating intentions; making notes about the code as you write that are clearly and boldly visible and what the code is doing, what it's connected to, etc. This is different from comments bc comments are often treated as afterthoughts. Instead, this intentions would just be to help you build and should be deleted once the code is actually done. Another way this could help you: maybe the editor could automatically show the intention you're trying to do. For example, if functionA calls functionB, the editor could show you in a separate window the intention of functionA followed by the intention of functionB in order: "Turn A into B first. Then do something with B."

Another is similar to the idea of networked thoughts; keeping the context of what you're writing close by. VSCode kind of does this with tabs and separate windows, but it doesn't really work that well.

Applying the idea of networked thoughts to programming