It's where I write all of my personal notes, blog posts, and it's where I wrote both "Game Programming Patterns" and "Crafting Interpreters".
At the same time, it's not the tool I use as an IDE. For programming, I use whatever IDE is dominant for the language I'm working in. Over time, that's been Visual C++, Visual Studio, XCode, Eclipse, IntelliJ, and most recently VS Code.
That doesn't mean to me that I want Sublime to turn into an IDE. I like that it's lighterweight than that. It's the perfect sweet spot for me of rich enough to handle piles of notes and documents and small scale code editing, but not so huge and cumbersome that it gets in my way.
Are people just working on more complex software than I am so you need the build steps hidden behind a UX, or am I missing some killer IDE feature that I don't even know about?
EDIT: It probably helps that I'm a vim die-hard and couldn't imagine clicking on something to rebuild the program! And Sublime's Vim support is better than any real vim program I've ever used, much less the half-hearted versions available in the IDEs I've tried. Maybe that's the main disconnect, and y'all just prefer having dropdown menus?
What sets IDEs apart from trying to convert an editor to an IDE with a bunch of plugins is:
- somebody somewhere is hopefully sitting down with a cohesive vision of tying these tools together, instead of an assemblage of plugins each with their own visions. I would very much prefer to use their vision (a la macos/windows/Ubuntu) vs trying to configure each plugin to my own (arch/Gentoo). It could be an age thing, but at this point I really don't have the enthusiasm to become an expert at 12 different config file syntaxes and read the docs for all the options for each plugin i would need to tweak.
- an IDE is all encompassing in certain ways that is amazing. For example, Jetbrains is not only a fantastic code editor/refactoring swiss knife, it also has excellent git integration, and can leverage the same code navigation capabilities within diffs and PRs. It will autostash in branch specific stashes, and I can visually browse and diff these. I can attach to databases and get full SQL query and view capabilities, so it isn't just about general purpose programming languages.
- it can be hard to explain to people who haven't used a language specific IDE, how much further along its refactoring capabilities are compared to any LSP. Note that this applies much more to Java/C# than to something like python, both because of static typing and decades of investment.
- as an example of integration, say you add a new function in a file. Not only does Jetbrains highlight the modified file in the Git commit panel, but the structure panel will actually color that function differently and so on.
- due to widespread use of Jetbrains in certain communities, people will build valuable plugins to relatively niche things. So Jetbrains has excellent CMake support and decent Bazel support.
- I like the keyboard, but I also like and acknowledge that the mouse is much better at certain things. For interactive reading, I like I can right click on a commit and say "rebase from here" instead of looking up, copying and posting the red into my git rebase -i command. Conflict resolution, line by line inclusion etc. is also easier with a mouse.
I am very competent at the command line, but beyond a certain project size, IDEs just make sense to me.