Hi Edward, 😃
I wrote this reply yesterday night before going to bed and am only posting this morning because I wanted to sleep on it first i guess...: I see that you have discovered the features and power of vscode in the meantime! haha! so please ignore the suggestion below about reading an article that explains most of it. I'm still posting it untouched below because otherwise they are my thoughts about Leo, vscode and the "state of programming technologies in our modern times".
Here are some collected thought about Leo, vscode, and at the end, my thoughts about the specific points you brought up with the pros and cons of using vscode.
One does not use Leo instead of vscode, nor does one use vscode instead of Leo. A programmer that understands the power they both have, alt-tabs (angrily) between the two. (well at least before I finish leoInteg)
So indeed, Knuth's vision was off by a small detail with regards to literate programming: The 'sections' concept only work when built upon directed acyclic graphs, i.e. "Outlines". This, I guess, is Leo's first foundational feature. (One of your most important discovery and invention Edward!)
Leo is the friggin "level 9000" outline editor from outer space that enables all the things I list on the opening paragraphs of leoInteg's readme. Those things are also listed in your great and inspiring post :
https://github.com/leo-editor/leo-editor/issues/1025 (Leo is not only the greatest one at this, it's the only one.)
At the workplace, like many, I went from visualStudio (90's) big corporate IDEs like eclipse/rational (00's), to sublime, somewhere late 2000's early 2010's, and got convinced by coworkers to switch to vscode a year or two ago. (So i'm still quite a newbie in that regards)
If I'm not mistaken, vscode is a fork of atom, which is just a blank vanilla canvas "text editor with tree in the sidebar", where everything is an extension. Even the basic features and language(s) support: it's just that those are pre-installed.
vscode is the most popular "programmer's" text editor nowadays because it understands everything on the screen and will tell me, as I type, what members are available on any objects, even those who were just imported from outside libraries...Even when not running in 'debug'. It gives me detailed info on any word I hover over. When I'm about to write a variable to pass as a parameter it suggests/autocomplete with those that are on the scope and of the right type only. (well for typed languages at least, such as C, typescript, ...)
vscode takes in charge the workspace (opened folder) and will run 'Language Servers' that resolve any symbol, in the background, as you type and navigate your code. (Ex. When you rename a property/method, it changes in all files it is referenced at once.)
But for an explicit example of the kind of thing that made me go 'Wow!' when using vscode, I attached 3 gifs (See descriptions below):
While watching those gifs, its important to note that the only thing I did to enable all this functionality was 'nothing': I Just happened to be working in a folder (workspace) which contained a python file, which triggered vscode into asking me : "Hey, there's a python file in your workspace. Do you want vscode to install the default microsoft Python extension?" (Yes/Maybe Later) And I clicked 'Yes'. That's it.
Now if you've ever setup big corporate IDEs like eclipse, rational, or other modular IDE at work, You know you have many more things to configure and install before being totally setup for running and debugging effectively with all your favorite tools.
Gifs Description:
1- showoff_vscode1.gif : autocompletion from imported libs: those sources being scanned to give me details were not 'specified' as existing anywhere in some project configuration file à la 'eclipse', vscode figured it out himself.
2- showoff_vscode2.gif : I see documentation strings, and parameter definitions on hover, and use alt+click to 'dig' into definitions: in whatever source file, which again, It figured from the imports at the top of the script and the environment.
3- showoff_vscode3.gif : In this gif, i'm stepping into the chunk of code I was talking to you about the other day. I configured nothing in order to do that. I just clicked in the margin to set a breakpoint and boom!
That's some of the stuff vscode did with opened python files. Features for other typed languages are even more helpful and well integrated. (because vscode goes through the type definitions of all symbols of all files in an opened workspace)
... which brings me to...
To understand and love to use Leo while programming, you have to have given it a try. I was curious to try and use it after having read about it. But only once trying it, would anyone be convinced to keep and use another additional 'IDE/editor' on their computer. In my experience, the biggest element that was making my fellow young programmers (in their early 20s) Not try Leo was the tclTk/Pyqt GUI that made them feel like they were in notepad in 1998. And the fact that they had to alt+tab to another app, or minimize, to see the resulting derived files.
But enough of my rambling, here's some other thoughts about the specific points you underlined:
Not at all as I have reproduced them mostly all and they're overridable in vscode.
Félix
P.S. More rambling below but I just smoked some cannabis, so it's not really serious:
If a microsoft employee, or bill gates himself, (or other) discovers the power of dag/outlines to organize code in a forward way (instead of being reflected back to the programmer like in the default outline view of regular IDEs) and the whole literate programming concepts as an effective and valid workflow, then Bill Gates can build a& sell an product and name this the 'Microsoft DAG Outliner' or whatever, and take all credit for it. I'm half-joking but this would be terrible and unfair in my mind.
It's important for me, as you can see from leoIntegs code and documentation, and as a point of honor, that the invention and discoveries are attributed correctly, along with the original vocabulary and terminology. ("leo" as the tool's and concept name in general, "EKR" as the author of Leo and all its concepts, "Leonine" as the quality of things written with structured outlines, etc. Just like we would attribute to Knuth mostly what preceded this.)