Maybe it is one of the following items, or something else:
1. Some fancy hotkeys. Give examples.
2. Favorite extensions. Give examples.
3. Gitpod, or codespaces integration.
4. It is free for use.
5. It is fast for you.
The other thing is that Visual Studio Code generally just works and gets me to writing code without issues. I came to it after trying to give Emacs a try after multiple times of doing so. I could sort of wrangle Emacs to do what I needed it to do, but I was having to write code for Emacs and search forums and poor documentation on how to do so, and even then, it was buggy. Switching to Visual Studio Code took just a few minutes of installing a couple of extensions, and then I was off writing code.
It is a little bit slow and sluggish at times, but it isn't an issue at the moment.
The .devcontainer integration is also pretty slick. Pull a repository, open Visual Studio Code, and it will open up in a Docker container with your environment all configured and ready to go.
The main thing I like is that by default I can just edit text with plenty of keyboard shortcuts, without the bloat of an IDE, but there's also an extension for practically anything I might want to do. I can also do all my command line work from it, run things and debug from it, etc.,. Guess I've sort of made it into an IDE that only has the bloat (features) I need, and not extra stuff.
It was fun toying around with emacs for 3 hours per day to install new shit and make it more useable back in uni but I actually have stuff to get done these days
Favorite extensions is a meaningless thing to ask for, it is entirely dependent on what you are using VSCode to make. But there are good extensions for TS/JS/React workflows.
2. Configured well, out of the box.
3. Performs decently (albeit nowhere nearly as well as vim or Sublime).
4. Remote editing.
5. Wealth and ease of installation of extensions.
Background: Have been using UNIX since the mid-80s, have tons of experience with vi and later vim, and generally prefer CLI over GUI.
e.g. I use code to view .net, node, web projects, browsing Andoid code and other languages. I could use VS but it takes ages to start up and I find the search better in Code. Mostly I'm reading rather than writing code though.
Also +1 I used the plugin for creating azure functions recently and it worked 1st time and well even for someone not used to .net or azure.
. _amazing_ integration with Julia. The only reason why I used Jupyter notebooks was for the concept of cells. But VS Code does that better AND the code is valid Julia code (as opposed to when using a Jupyter notebook, where the thing generated is not valid Julia code). Same goes for python.
. I LOVE the "Remote SSH" extension. With zero effort, other than installing the extension on my local, I can run VS Code backend on a remote machine. This allows me to, again with zero effort, be able to work on a machine that might not be great (like my laptop) but point the backend to some big machine and do some serious data crunching with a frontend on my laptop.
. I really like the CTRL-SHIFT-P box (it's called the "command palette"). It's the ability to _search_ IDE commands/features from a search box. This is in contast to having to memorize a hotkey (like vim) or clicking around various dropdowns (like Microsoft-inspired stuff).
. Like it's not vim-fast, but the UI is still quite fast.
. You CAN customize, but on the other hand all defaults are quite good.
I've been a huge vim fan for a long as I can remember, but VS code has replaced it for all my coding. The only situation where I still use vim is if I need to open multi-Gb data/log files.
EDIT: As other people mention PyCharm - are you nuts? PyCharm is VERY sluggish. I hate it.
However, I miss a lot all the refactoring functionalities that PyCharm offers. For instance, moving a class from one module to another module is trivial in PyCharm (all imports from all other files are automagically updated), but it's a nightmare in VSCode (you need basically to go file by file and update the imports).
If I want to try out something different (or familiar) all I need to do is install one extension (and maybe some packages) and for the most common languages I get a debugger, autocomplete, syntax, etc. without needing to look for a language specific IDE which might or might not have the features I want. I can switch between different tasks all without leaving a common, relatively complete environment. Likely any given repo contains different languages, even if it is just markdown having one software which does it all is pretty neat.
It’s the default target these days so when you go to get set up using Flutter, the heaps game engine, Angular, PlatformIO, etc. they all have VSCode extensions.
If I am doing something that I don’t need or want an extension for I will use Sublime Text.
Comparex to Jetbrains:. It is 1 tool that can deal with all text processing, not a different product for each language. It can deal with a PHP+ Java+C hybrid, including some javascript and SQL.
Vs Jetbrains and Sublime: Free. This also means no license management and no credit card unsafety (I am not in the USA) or payment processor madness.
Linux has no real notepad++ competitor. Kate comes close, but vscode comes even closer.
And TypeScript.
I was using Atom (will be retired in Dec this year) but Zen is not ready nor testable. All I do is bash, basic python, basic ruby and some markdown/asciidoc so no need for special extensions and VSCodium seems to fit with reasonable defaults.
I am also fan of Geany which is very lightweight and has some plugins but the UI feels a bit outdated and some extensions are orphaned.
My dream of an editor: FOSS, lightweight, modern GUI, multi-language and with a nice API for extensions (I will seriously try vim/neovim some day)
- Embrace the open-source movement and publish an open-source IDE so people can't complain it is not.
- Extend the product with an ecosystem of extensions and integrations that depend on your IDE.
- Extinguish competition by creating a dependency on proprietary platforms such as GitHub and Azure.
Bonus: Fill it with spyware because Google Chrome demonstrated most people don't understand the potential consequences.
This.
Compared to Java based IDEs specifically: whenever a Java person tells me any Java app is fast, I try it, and I can feel the latency. It's been this way for 20 years now.
It’s easy to install and start using. Immediate.
It’s customizable. My workspace is perfect.
I have just one keybind customization and that’s to cmd + J or ctrl + J to switch between integrated terminal and editor. Without making the terminal disappear.
I was using spacemacs prior to VSC and now I spend more time coding and not fiddling some settings all the time.
So when I have other PC and download project via Git, all hotkeys are working as previously without setting the Visual Studio Code itself.
1. Fuzzy command completion like Emacs helm-M-x
2. Remote shell integration that is better than Emacs TRAMP.
3. Works more reliably than Emacs.
4. LSP support.
5. Works on Mac, Windows, Linux.
6. Can cajole coworkers into using it and thus have deeply integrated tooling in our workflow that applies to everyone.
Things I miss: 1. Org mode (particularly org-capture)
2. eval-region
3. helm-sloop
2. Github Copilot
For me it's the successor of Sublime Text and Atom
The extensions are nice and handy, and the ability to run it in gitpod is pretty sweet too
Hasn't gotten in my way. It's fast. The quality of the devtools are not perfect but useable.
What a thread!
1. I download and run the vscode installer, either on Windows (boo, hiss, I know), MacOS (boo, hiss, I know) or Linux (some recent Ubuntu, boo, hiss, I know, should build my own distro and then complain vscode doesn't work, but, sorry, busy busy...)
2. I clone a repo, open the .csproj or .sln; vscode offers to download and install the (boo, hiss, proprietary, I'm sure, I know, I'm sorry, not sorry) bits required to deal with that
3. I do my work, compile, run, debug, all fine, no issues, can set breakpoints, inspect variables, get InteliCode