Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor. Empathize with the user: People with far less time than you are trying to paste some hot mess right off their clipboard to work with. They've probably got a super nasty idea in their head they can barely hold on to.
Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them. Many times I feel convinced these tools have been engineered with intent to be shittier over time and slow down neurodivergent users. The ADHD/etc crowd is definitely the #1 thing a software company needs to worry about in terms of moat maintenance...
> Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them.
I used to be the same way but then I discovered Visual Studio's vertical tab option. Tabs are displayed vertically on the left side of the editor pane. The filenames are all aligned so it's actually possible to visually scan them. You can group them by project and color code them by file type.
Sublime Text is surprisingly bad about that. Or at least the package manager is. I'm okay with occasionally being prompted to update the editor, but it drives me crazy when I launch Sublime Text, go to start working in a text buffer, and then suddenly have the tab swap out from under me to show me changelogs for everything it just updated. All doing that does is piss me off and make me certainly not read the changelog because I'm instantly closing it to get back to what I was doing!
I've always hated IDEs. And I hate most UIs - they are a nightmare for me.
I never connected it to ADHD. But I have to say that vim is a godsend to me when I try to do anything serious. And if you are able to reach me whenever you want by Slack, I'm not being productive.
I'm a designer & product manager whose taste runs extremely strongly to minimalism, simplicity, and clarity in user interfaces. A late-in-life diagnosis of ADHD revealed why and linked it strongly (in my mind) to my ability to enter a hyper-focus mode when visual distractions are reduced.
I think it's time for you to roll up your sleeves and start modifying your editor, then. And if it's not modifiable enough, ditch it. I've been using IntelliJ for years (it's main thing is Java but it is also the best javascript/html editor, by far; the git UI is quirky but good once you get used to it). It's highly customizable such that you can banish anything you don't want to see. Features like "find anything" and "run anything" are great for less often used files and features, respectively. Their license is reasonable - it's annual, but if you stop paying you just stop at the last version you paid for. Also the free version is probably good enough for 90% of people. It's also the platform on which Android Studio is based - but I don't do Android so I can't say if that's good or not.
Oh and something I do when I really really need to focus is use another editor! Usually vim unless I'm on a mac in which case I'll use Sublime Text. But more and more I've been using IntelliJ's own "View modes" to get the effect I want.
As an IntelliJ user (and lover), it also gives you annoying update prompts basically every time I open it. There's always some plugin or another needing a reboot.
It has a lot of pros and cons compared to VSCode, but upgrade politeness isn't one of them. The frequent reindexing will often take you out of the flow too. It's very easy to move faster than IntelliJ can keep up with, especially on a slower computer.
And in terms of perceptual load, its interface is way more cluttered than VSCode, with multiple overlapping panels that each have several modes and tabs they can be in, and an unclear closing hierarchy that will often close some but not all of them (like shift-esc won't work reliably).
>multiple overlapping panels that each have several modes and tabs they can be in, and an unclear closing hierarchy that will often close some but not all of them (like shift-esc won't work reliably)
Yes, this is the default. But it's pretty easy to change. Most of my windows are on hotkeys and mostly unpinned so they get out of the way. Some are pinned, so to close you hit the hot key again. For example, project view is ctrl 1 (or option 1 on mac) and I often close it - the highest source of not-useful visual clutter, imho. terminal is ctrl 2, which simulates some nice early linux utilties that would slide a terminal on and off the screen. The same set up for the run/debug tabs, database tabs, and so on. 90% of the time I'm just looking at the editor and a terminal. The way God intended.
It kinda depends which stack you work in, too. I think the JS/PHP/Web side of things tend to be a second-class citizen in IntelliJ especially (vs Java), but also in WebStorm. Things like npm scripts and Docker are first-class citizens in VScode but take multiple clicks to discover in IntelliJ, and even then it shares a panel with other functions, and some things end up in the "Run" tab while others end up in a separate npm panel while others launch their own sub-terminal... it's really easy to quickly lose track of them, sadly :(
It's not so much that I want an individual hotkey for each window, but a UI tailored for the 90% of my time (coding, dev server/docker status, npm scripts). The debugger is another big one that I wish had its own UI instead of just being mixed into the bottom pane with all the terminals from last week, etc.
I'm really hopeful that Fleet can drastically simplify all this, while still keeping the powerful indexing, diffing, and refactoring (the three main reasons I stick to Jetbrains instead of VScode)
>[npm, Docker] multiple clicks to discover in IntelliJ
I think this is where discernment matters. I tried both plugins, but ended up never using them. They didn't pull their weight. The terminal will always be the "canonical" way to interact with everything - but for Docker I like Desktop. I've always had good luck with it. And for npm, I'd much rather run it in a terminal. But gradle or maven? Happy to run in IntelliJ. I haven't really investigated why one feels so different than the others. But yeah it's annoying when e.g. Docker uses the Run tab. That seems wrong.
This is why I, and I suspect many others, like terminal based text editors like vim (or emacs, whatever. Our war is against GUI before each other). I find IDEs have too much going on and any little blip on the side shifts my focus. Whereas with vim/tmux/zsh I can highly and easily customize my environment to... __me__. About everything an IDE offers I also get[0], but with more ease in having it placed where I want and __when__ I want. I can have a project drawer visible or push it away with NerdTree or use netrw (native) or vimfiler as an explorer. I have tags, linters, smart autocomplete (native), color bracket matching, git, buffers, panes, marks, and all that. All that with trees and interfaces to view in code or quickly turn things off if they are distracting (e.g. pull up my tag tree when reading code or referencing a signature but shove it away when not).
But the best feature is that I can can make it most readable to me. Not only that, but also to the project. I am a true believer that coding environments __should__ be highly personalized. Standardization seems to be a death sentence, especially for ADHD/neurodivergent people like me. I definitely get the sentiment of intent to be shittier over time too. Systems like VSCode feel impenetrable to me despite numerous attempts and strong insistence to use them from many others. (I'm sure this can be true of vim/emacs to others but my argument is about customizing your environment to you, not the tool you use for that)
[0] realistically there's only two things I want that I haven't found: 1) a (good) debugger, and 2) a note system. There are definitely debuggers for vim and useful ones but I've always felt debuggers could be more useful and this isn't just a vim issue. Which, a connection to the second thing, I'd love if I could make notes to specific lines of code in a popup or split and that the note has a mark on that line wherein I can go back and forth. This is immensely helpful when debugging where I'm usually sitting with a piece of paper and drawing[1] and writing notes and often in that I notice optimization or other opportunities that I should come back to later but are not prioritized in the "make it work first" mode (or else rabbit hole). (Minor 3rd thing: in line python execution. Like I want to test a single line or small block. `python -i` can help but just doing this easily would be nice)
[1] Do people not like call graphs? It seems they're rather unpopular and the interfaces that draw them tend to be really bad. Maybe I just haven't found a good one? Mostly work with python fwiw.
> I'd love if I could make notes to specific lines of code in a popup or split and that the note has a mark on that line wherein I can go back and forth.
Emacs does this with a feature called "bookmarks". I don't use vim particularly so can't vouch for anything, but https://github.com/MattesGroeger/vim-bookmarks looks like the same concepts I'm thinking of in a vim-flavored implementation - maybe worth a look.
VS Code isn't actually that bad with its extension and application updates. When an extension has been updated, it'll try to load the new version in-memory (if the extension supports it), otherwise it'll add a badge to the Extensions panel icon in the sidebar, leaving a subtle reminder that you need to restart in order to get the new extension update. For updates to VS Code proper, it adds a badge to the settings icon. No popups or notifications. You can also disable auto-updating for extensions and the application if you find the badges distracting.
Now, if certain extensions try to get your attention with notifications or automatically opening release notes, that can absolutely be a problem. Extensions vary wildly in quality, since the barrier for publishing one is effectively nothing. These leaves the job of curating good, non-spammy extensions up to the developer.
* Pops up unsolicited toast notifications for new file extensions, "we have extensions which can help you with that file type!"
* Opens "what's new" type tabs anytime it updates
* Starts the "jumping up and down" MacOS dock animation for sometimes trivial problems
I could list more examples, but suffice it to say, this is...not ideal. I love VS Code, so for fresh/unsync'ed installs I'm willing to meticulously trawl through its settings, twiddling various knobs to disable these multifarious annoyances. But hey, it's worth it (to me).
I learned to smash escape button as soon as I see something spawning in the bottom-right corner of the screen
I haven't missed anything critical yet.
> Opens "what's new" type tabs anytime it updates
this happens once a month maybe and sometimes it's actually something useful. Realistically though, it's just another ⌘W. By the way, look at the `update.showReleaseNotes` setting
> Opens a welcome tab anytime you open a project
I don't have this behavior on my computer, it's just empty file or whatever was opened last time
1. ADHD superengineers could be representing more than 0.0% but below 0% of all users.
2. A lot of ADHD-specific optimizations, e.g. fast transitions without frustrating gooey animations, distraction-free UI without tips and emojis, could be detrimental to telemetry items that:
a) do represent non-ADHD needs, and also;
b) engineer performances are evaluated upon, even for Free Software these days.
I'm sorry to shame here, but one of my favourite environments jupyterlab has started with the same thing. Update notification popup. And this is python, where I specificed exact version in my requirements file.
Hm, I've dealt with ADHD for a long time but Visual Studio proper never bothered me, even before I got any medication. If anything I greatly appreciate how much it does for me (various autocomplete functions etc) so I can focus my mental load on the problem, and these days I feel out of my element trying to write any code in a plain text editor.
Not a text editor but Postman is the worst for that. Every time I open it there’s another damn update, another prompt, another “hey check out this feature” popup. I don’t care.
What I actually want is a gui version of curl. Just let me send my CRUD operation over HTTP. I want it to work and that is all.
Visual studio is such consistently the slowest program to open on my machine it's not even funny. I once tried to build an open source project which was tooled around VS and in the time it took to open, I successfully read the VS config in notepad and did the actions by hand.
Built-in git, Github PRs & comments, documentation lookups, database browsers, copilot, opening preview browsers, networked Docker, remote coding, CI/CD pipelines... this is talking about IDEs after all, not just a basic text editor
Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them. Many times I feel convinced these tools have been engineered with intent to be shittier over time and slow down neurodivergent users. The ADHD/etc crowd is definitely the #1 thing a software company needs to worry about in terms of moat maintenance...