Do you use VS Code?
from Gjolin@lemmy.ml to programming@programming.dev on 22 Jul 2024 18:19
https://lemmy.ml/post/18285147
from Gjolin@lemmy.ml to programming@programming.dev on 22 Jul 2024 18:19
https://lemmy.ml/post/18285147
I have not used an IDE since I ditched Turbo Pascal in middle school, but now I am at a place where everyone and their mother uses VS Code and so I’m giving it a shot.
The thing is, I’m finding the “just works” mantra is not true at all. Nothing is working out of the box. And then for each separate extension I have to figure out how to fix it. Or I just give up and circumvent it by using the terminal.
What’s even the point then?
IDK maybe its a matter of getting used to something new, but I was doing fine with just vim and tmux.
#programming
threaded - newest
lazyvim is enough for me.
Sublime Text with plugins. It’s 100% because it’s what I’m used to.
Idk where you got the “just works” idea from, but maybe you’re looking for something more like the jetbrains IDEs?
I still use the terminal all the time with VSC.
Yeah, I guess the idea of VSCode isn’t to be a “ready to use” IDE, but to be configurable — which it is.
The main thing that makes it popular nowadays is the ecosystem of plugins around it. Ex: when Copilot was released, I believe the VSCode plugin was the best one.
Also many frameworks docs have instructions on how to use it with VSCode and which plugins to install, such as some web frameworks and Flutter.
On top of being super bloated, Intellij’s Rider is far from “just working” in my experience. Not only is it super slow to boot, but it also changes asmdefs in my Unity project unprompted, in a way that prevents my project from working (creates cyclic dependencies). The debugger also sometimes doesn’t trigger breakpoints 😵💫
I absolutely despise it, viscerally.
I use VS code, mainly for the jupyter notebook integration.
I agree, thought Atom was kind of a fun text editor but silly for being an entire Chrome browser, then it mutated into this intentionally held back IDE where not even developing PowerShell or C# can be done without mucking about first.
There is barely any functionality without add-ins but not because they want to keep the base program light. And it siphons all the data it can get, of course.
It’s pretty clear to me that they don’t want it to be better than Visual Studio proper, so you don’t get a sane menu structure or out of the box functionality. Microsoft made an editor that is somehow more opaque and unintuitive than vi, not because of necessity or for practicality reasons but because it has to be different from the flagship product.
I’d much rather work with Spyder, Netbeans or Eclipse. Or some Jetbrains product. Or Notepad3 + Terminal and a browser.
Not saying they shouldn’t have a sane structure, but in 6 years of using VS Code I never cared about menus because everything can and should be accessed through the command palette (F1 / Ctrl+Shift+P).
To me complaining about menus in VS Code sounds like complaining of modes and motions in vi / vim. Maybe the editor is not for you.
vi is the way it is for very good reasons, I don’t really see that with VS Code. Even gVim has menus. You can have both accessibility and flexibility/speed.
I would still try to adapt to it, but the PowerShell experience I had a couple months ago put me off it (and VSCodium) for good. Install IDE, install plug-in, hangs forever until you figure out that the useless error message means you need to install some additional .msi from Microsoft. Blergh.
use linux
I am, only reason I’m dealing with Powershell is work.
I do. I used to juggle between Code::Blocks, PyDev, NetBeans and others, depending on projects. I find VS Code kind of fulfills the promise of Eclipse of being an all-purpose IDE, without the bloat Eclipse became synonymous with. It really clicked for me when I started using devcontainers. I am now a big fan of the whole development containers concept and use it in VS Code daily…
<img alt="Write and lint Markdown documentation ? VS Code Build fairly complex C++ software ? VS Code Debug slapped together Bash scripts ? Also VS Code Hobby-grade Python fun times ? Believe it or not, also VS Code" src="https://sh.itjust.works/pictrs/image/2502aed6-32c2-4277-8a4c-a4e7c781778b.jpeg">
This still exists? I played around with it’s portable app eons ago.
How does that compare to Vagrant?
Code::Blocks is still chugging along, albeit at a glacial pace.
The rise of Docker has made containers very popular in the last 10 years or so. Nowadays you can run a single WSL2 VM on Windows with a Linux distro, and run any number of containers inside it. Vagrant is useful if you need full-fledged VMs for your environments.
I just read about it, apparently Vagrant has now tooling for containers in their VMs.
I don’t think VSCode’s mantra is that it “just works”. It’s definitely a “platform” IDE like Eclipse was.
This post reads like going to a Linux forum and asking for issues with the GTX660, which absolutely does not work on Linux: your concerns are legitimate and it’s reasonable not to buy all the good comments on VS Code based on your personal experience. However, it works on my machine. And it also works for many others.
You also mention to have been doing fine with “just vim”. I’d argue that you should face VS Code with the same humility you faced vim. If you’re up to the task, take your time to learn its quirks just like you did with Vim’s. Otherwise, you’re better off ending your career with the toolsuite you know for now.
Any IDE is going to take some getting used to and some setup. VS Code is easy to get started with but if you really want everything to be optimal, it’s going to take some effort.
I use vscode as I develop this model in Scala3, whose language-server ‘metals’ integrates well with vscode, and when scala3 was new in mid-21 this was the platform they first targeted. But the scala command-line tools do the clever analysis, vscode provides the layout, colours, git integration, search/regex, web-preview etc… Now considering other options (eg zed) as vscode too dependent on potentially unsafe extensions (of which too much choice), also don’t want M$ scraping my code. Long ago when same model was in java I used netbeans, then eclipse. Would prefer a pure-scala toolset.
I mostly use VS Code for notes and configuration files. Sometimes Python scripts. I agree with you, it requires a lot of setup. It has replaced Vim for me either way.
Most of my programming is done in IntelliJ, which works mostly out of the box. I’ve also used Visual Studio (not to be confused with VS Code).
I can’t imagine working without a proper IDE for any serious programming anymore. Working without IDE is like self imposed handicap.
Nope, at work, we use JetBrains IDEs and for my personal stuff, I’m using Kate.
Seeing the hype wave for VS Code was so bizarre, like millions of people discovered features that were just bog standard in IDEs for a long time. Two colleagues tried to sell it to me and the features they chose to do so with, were the commit GUI and the embedded terminal.
My best guess is that if you weren’t a programmer, then you didn’t use an IDE and there just wasn’t many good editors on Windows. Like, Notepad++ has been there since forever, but it doesn’t have that many features. And Sublime has been around for a long time, too, but never made it big.
The problem with Sublime is that it’s a paid one, and not everybody wants to pay for something that is perceived by the community as something that should be free and open source.
It’s paid like WinRAR is paid.
The thing about VSCode is that it was lightweight and modular with the extensions. At least for me.
Lightweight compared to a full-featured IDE, sure, but it starts a whole bloomin’ web browser to render a text editor. That is not lightweight at all, compared to Notepad++, Sublime, Kate, Vim, Emacs etc…
And yet, they don’t have the same features, which make the comparison pointless
Sublime was pretty big before Atom. Atom just had absolutely abysmal startup speeds. Using Atom like an IDE was fine because it stayed open but using it like an editor was awful. Code fixed those problems.
The problems you’re facing aren’t very clear. Can you expand a bit?
Lots of things in VS Code just work if you use the non-FOSS version and don’t need to install any system dependencies. For example, there are a ton of code formatters that you can install and run without tuning (eg I installed a SQL formatted last week with nothing else to do). There are also some that you need underlying dependencies for (eg if you want Rust extensions to work, you need the Rust toolchain; same for LaTeX); however this is true in any editor based on my experience (although some editors eg JetBrains might mask that through their GUI). Across both options, you often need to tune your extensions based on your use case or even hardware in some cases (eg setting up nonstandard
PATH
items).YMMV for VSCodium, the FOSS version, primarily because it relies on a different extension registry per the terms of use. You can get around this as a user; as a vendor they cannot. Outside of tweaking the registry I’m not aware of anything else you need to do for parity.
Edit: forgot to tie all this back to my opener. What do you mean when you say it requires all sorts of work? Are you experiencing other issues than something I called out?
VSCode seems to have fun ignoring my “don’t guess encodings and assume this one” on files.
VSCodium respects that setting.
I was doing some Jinja templating in a Flask app the other day and VS Code would not respect my explicit file typing through the GUI over restarts. I had to change my file extensions and install an extension for Jinja syntax highlighting to get that to work.
I feel that pain.
This is usually a good reason to avoid something. Especially if that something comes from Microsoft.
So things stop being usable as soon as they become mainstream?
Monocultures are bad. Popularity very rarely tracks quality. And once something is overwhelmingly popular, it usually goes to shit, because the momentum is enough to keep it successful.
See: Windows. Outlook. Reddit. CrowdStrike.
But vscode hasn’t gone to shit…
Lots of things have also gotten popular without going to shit either.
Give it time. This is Microsoft we’re talking about. Look at GitHub or Skype.
Err… Those are bad examples.
Skype was bad before microsoft lol. If anything, Microsoft actually made it more usable… Skype was NEVER good lol
And very few people in the real world have an issue with Github. The evidence is that you’ll notice projects aren’t moving away from it, and Github is growing fast. I found there’s a small number of people making 99.99% of the noise (like the first main “enshiffication” post on Lemmy, which was mainly pointing towards comments made by a developer without many commits and as a open source project, they weren’t even paying for github). If you want a good example, Sourceforge would be a better one (although, it’s possible even they cleaned up their act)
Nobody would call VS Code bloated or anything. There are some things I don’t like, but i have tried so many IDE’s in the past 20 years, and can honestly say that VS Code survived because its hugely easier, and it’s actually a high quality product. Anyone who has tried stuff like Atom or Eclipse will attest to that (Eclipse was great at the time, but was painfully slow)
I did see a post about a rust one upcoming that did seem interesting, but its really just a slightly faster version of VS Code (and VS Code itself is no slouch).
There are some things about it which are a bit annoying and not easy to initially work out, but overall I’ve found it to do pretty much everything I want, and a few things I didn’t know I wanted until I found out it did them.
No, it was far too “fiddly” and I have no problem with the performance of full ides from jetbrains.
What issues specifically?
It takes maybe 10 minutes to find good extensions and get them set up
I use Vim, more specifically Neovim with the LazyVim setup. It turns it into a full fledged IDE basically, with LSPs, hotkeys and everything setup. I started a few years ago with original Vim without plugins. I have 2 problems with my current setup: a) I don’t understand the complete setup and don’t know Lua enough, and b) LazyVim actually updates ton and sometimes things break.
And last time it broke something with my Rust setup, I could not find a solution quickly, but was working on a Rust project. So I installed VSCode the first time, but the Open Source version just called Code in the Linux repositories. But because it is Open Source, it does not come with the VSCode addon repository from Microsoft. I didn’t want do that, so I went back to solving the issue with my Neovim setup. Shortly after I found the solution and worked on my (little) project.
All in all, if you just want an out of the box experience without too much tinkering or problem solving, I wouldn’t recommend the Vim route. There is lot of stuff you have to setup, or at least change settings and understand how to do this. I assume the VSCode version from Microsoft has a better out of the box experience, from the just works perspective.
I’m in a love hate relationship with vscode. Used Neovim for a year or two but got fed up of debugging plugin problems after updates. Currently giving vscode a go again but it somehow feels dirty lol. It seems to get better though and it is very popular. Like others have said, if you want something really polished Jetbrains is very good.
Sublime Text is much faster to use a quick editor and IntelliJ is much better as a full featured IDE and totally worth the cost. IntelliJ saves me on a ton of time on merge conflicts, it much faster in large projects, code analysis to find unused stuff and issues is better… VSCode can handle merges but it requires extensions and isn’t as good / you’ll have do to more manual work.
No way. I’m happy about the stuff it brought (LSP, remote debugging protocol, maybe other stuff), but VSCode itself is just not good enough and always takes a bunch of configuration to get working. It’s better than neovim, that’s for sure.
If there were an opensource IDE with a GUI (not TUI) that didn’t use web rendering to draw its interface, worked on Linux, weren’t bought by yet another tech-overlord, and were comparable to a Jetbrains IDE, there’s a good chance it’d get my money. Until then, it’s Jetbrains for me. I hope they never go public.
Anti Commercial-AI license
Depends on the language. C/C++/C# I never manage to make it work. Rust works incredibly well. Python needs some small fixing on the paths but works good too. Java needs a lot of fixing, sometimes I make it work, others not.
C# and java are both much easier to set up in an IDE (VS and eclipse (ew)) respectively. C/C++ are just hard to set up, I don’t think it’s much harder than CLion.
So except java and C#, every language is as easy to set up as any other editor/IDE.
I only use vim to edit config files through ssh, so I don’t know how it works for actual development. However, I doubt it is easier than vs code.
For C++ I found the clangd plugin to be the secret. Just install that and get your build to output a compile_commands.json in your build folder. That is easy to do with cmake but most other setups can do it too. The plugin will find that after a clean build. Then it will magically index your whole project.
I use vscode everyday with gdb and gcc (and gdbserver.) it works well, but does require some set up.
I used to use VSCodium (pretty much just VSCode without the closed source binaries and telemetry) but now I completely use Helix and Zellij.
I’m currently using VSCodium too, why did you switch? What’s the appeal? Would you recommend them?
I would like to know, too.
Not the OP, but I switched to helix, because I always wanted to learn something vim-like, and helix is just perfect for that. It’s simple, working great without any configuration, and has nice keybindings.
Maybe he’s just a hipster
Not the OP, but I switched to helix, because I always wanted to learn something vim-like, and helix is just perfect for that. It’s simple, working great without any configuration, and has nice keybindings.
Well I guess I can give my opinion as a former VSCode and Vim user that migrated to Helix. @shadowedcross@sh.itjust.works was curious too.
Way back when, I used Sublime Text and got proficient with those keyboard shortcuts. Then VSCode eclipsed (pun unintended) Sublime, so I switched and I was thankfully able to keep using Sublime key bindings. I was also productive with VSCode, except it wasn’t popular at the company I was working at, where most people used Vim. I ended up learning a bit of Vim for pair programming, but I still clinged to VSCode, even though it lacked proper support for connecting to a VM via SSH (which was a very common workflow).
At some point I realized that it was important to have a totally keyboard-centric workflow to level up my productivity and ergonomics, and being able to use a mouse in VSCode was hindering my progress. So I tried NeoVim, and it was kind of a nightmare. I know many people enjoy tinkering with Lua to get NeoVim working as they want, but I found it more of a barrier to productivity than anything else.
So then I learned about Helix, and it seemed like a love letter to devs that just want a modal in-terminal editor that works out of the box and has modern features like LSP support, DAP, etc. Also it’s written in Rust by good maintainers. I haven’t looked back, because the Helix + Tmux combo is incredibly versatile.
if you want even more frictionless experience and save a few megs of ram check out wezterm, it does a pretty good job of integrating multiplexing into terminal. also it’s very extensible as it’s configurable with lua.
on a side note, I had some stability issues with vscode-neovim where it’d crash it in worst cases.
What do you mean fix it? I haven’t had an issue with vscode or extensions unless I was going against established patterns.
For an actual recommendation, if you were fine with tmux and vim rock em yo. Don’t forget vim has panes as well.
Platformio maybe?
That thing just sometimes won’t work on some PCBs unless you explicitly specify a build option (I had it once that I had to specify a build option that was already specified in that board configuration)
Installing pycom stuff too. All of their software is crap (hardware isn’t amazing either) so their released version simply didn’t work by default on a fresh installation and the fix was to roll back to the previous version manually.
Use what works for you.
I only use vscodium for things that are not that well supported by neovim, in my case it’s only Scala basically, but I guess I’m just to lazy to properly configure metals. I use Sway as my desktop and I don’t want to go into configuring DPI just for vscodium or switch to gnome to not ruin my vision even further when using it. This is what I like about terminal-based editors - the whole Ui scales with a single key combination. Speaking of which I also consider the combinations provided by many Neovim “distributions” (and my workflow ;p) way more ergonomic than emacs-y finger gymnastics of vscode and the likes, since I just hit the space twice and type a command alias without moving my fingers from where they should be on the keyboard instead of memorizing gazillion combinations working little by little towards giving me a carpal tunnel.
Funny to read VSCode described as an IDE.
Where I work, I’m the weird one for preferring VSCode over Visual Sudio or Rider.
I prefer using a terminal to run build tasks and execute tests and do version control, and have mostly Language Server stuff integrated into the editor.
Why would VSCode not be called an IDE?
No, it’s a code editor. It can become an IDE with the right set of plugins.
It’s a modular IDE.
They’re just saying that so that they have a justification for making two IDEs.
What is your definition of an IDE?
I don’t think there’s an exact definition but broadly I would say if it has the majority of these features it’s definitely an IDE:
If you make something with all those then it’s definitely an IDE. Without some of them it’s more debatable. For example the old Arduino editor… I would still say is a very basic IDE even though it doesn’t have a proper debugger - it has other heavily integrated development tools, e.g. the UART viewer.
does that make it a disintegrated IDE?
Nobody loves arguing semantics more than a programmer. VSCode is absolutely an IDE. Jetbrains is entirely plugin based, Eclipse is totally plugin based, and yeah so is VSCode.
🙏 Happy to see this opinion somewhere else. I feel like I’m taking crazy pills when I see folks adamant that Code-like editors aren’t IDEs while saying other plugin based editors are.
Been using vim+tmux for the last 8 years and still going strong. Wouldn’t ever give it up. Vscode’s pretty lackluster in comparison.
What’s the tech stack you work with with that setup?
Last 3 years has been working on large backend web services in Haskell and Postgres, with some shell scripting thrown in here and there.
Before that, it was a mix of Python, Typescript (React), Rust, and C++.
VS Code is a highly configurable editor that can get really close to being like an IDE, but you should really check out the Jetbrains IDEs. Best in class for just about every language they support.
I do Rust and Go and VSCode has been fine for both so far. I put off trying it for ages out of a hatred/distrust of MS products, but I'm quite happy with it.
vscode is bloated, switch to emacs
emacs is bloated, switch to vim
vim is bloated, switch to vi
vi is bloated, switch to ed
ed is bloated, switch to cat
on-topic
No, I don’t use vscode, I use mg (tiny emacs-like editor, lighter than nvi) and ed If you’re already comfy with vim, don’t switch. If anything, I encourage you to try even more minimal editors.
I mean, it cannot fly you to the moon, but depends on what you’re expecting.
If nothing works, did you install it via the manual?
I use neovim, with my own built configs. You can literally configurate/program everything in your editor.
I’d say that IDEs are becoming less and less common these days. Vscode is definitely the most popular editor, but through the language server protocol, we have more options than there used to be.
Personalized Development Environments (PDE) are becoming more common. Vscode is one to a lesser extend (it’s just a text editor if you don’t add extensions), but in my opinion, neovim definitely does this best by far.
It’s been some time, but I remember my confusion when I was an amateur and hardly knew the difference between visual studio and vscode. I agree it can be very confusing at the start. Just go get the extension for that programming language or framework and you should be fine. Or maybe ask your colleagues, as they use it already.
If you want a real idea, her brains products are probably best, many of them have a community version, but see about getting a license if you need it.
I switched to Zed recently. Very basic and definitely is not as feature rich as VSCodium but I’m sure it’ll get better.
Zed looks very promising. There are only 2 things that prevent me from using it.
I’ll keep an eye on zed, but I think most people will stay on VSCode until zed gets feature-rich enough that they won’t miss VSCode.
I understand you. Zed does give me some headaches sometimes but I mean it’s still pretty alpha. Maybe I’ll switch back to vscodium until zed becomes more mature after all. Though they never said it was an IDE so I don’t expect for it to be ever feature rich as vscodium.
I tried using VS Code but the fact that it’s not fully open source (VSCodium has limitations) bothers me a lot, as does the presence of telemetry.
I like some of the convenience features, like having a file picker when you’re writing paths, my students use it a lot, but I’m sticking with Kate.
I’ve not had any of these issues with VSCode and i do use it just for the seamless Remote Development over SSH abilities.
The learning curve for it is a lot less than Vim even if Vim is likely a much more powerful tool imo
Just to add my two pennies (that’s a saying, right?), I do use VS code as my default text editor. Professionally and for other projects in C++/C# I use the full fat visual studio. But for scripting, config editing, hex files, todo lists and such I use Code.
I’ve never been much of a person who needs to shave off every possible second in my workflow with macros and plugins, my brain is just not fast enough to out pace my hands, and the command palette does pretty much all I could wish for.
I of course wish it was fully open source, but for being the only Microsoft product I daily it isn’t too bad.
It’s to add my two penis, if you are a snake and a male. <img alt="" src="https://programming.dev/pictrs/image/fa08f9b3-ef4f-4a9c-aeed-2cf6f6533da1.gif">
Allow me to introduce you to Codium
Last time I checked codium out it couldn’t support the vs code marketplace/plugin repo. Is this still the case? I should take another look at it either way though :)
Edit: I answered my own question by reading some more comments. So looks like there are alternative plugin registries. I’ll definitely have a go at switching now.
I use jetbrains’ PyCharm. Work paid for it. It does the things I want it to do (works with docker, git integration, local history, syntax highlighting for every language I use, refactor:rename and move, safe delete, find usages,.find declaration, view library code, database integration, other stuff I’m forgetting)
Well it may absolutely suck, but they’ll tell you
The last two are lies. And I was talking about vi here, in the hopes you’ll get it. And like when I first used vi, the best thing was learning there were alternatives.
Do not use Microsofts Telemetry Studio Code but Code-OSS or VSCodium.
See: github.com/VSCodium/vscodium/issues/267
Regarding your question Code is not powerful enough of what we do at work. There we use IntelliJ IDEA. Our frontend guys use Code as it’s enough for them and they usually are not that quality oriented, be it their tools or their product. Sadly mediocre is enough.
could you give a couple examples of how vscode degrades quality?
Honestly I don’t care about telemetry. I’m not trying to start an argument about it, I’m just explaining to readers that there are still reasons to use VSCodium over Visual Studio Code. Visual Studio Code (the build available) masquerades as open source while having a non-FOSS license. code.visualstudio.com/license Also, Microsoft does not allow other programs (like VSCodium or Code - OSS) to access the Microsoft Visual Studio Marketplace. Being plugin based, that essentially means all useful functionality in Code-like editors is gated behind a proprietary website you aren’t allowed to access except with a proprietary editor (Visual Studio Code). open-vsx.org/about
Hell no, Emacs and nvim UX is far superior. I won’t ever go back to clicking.
I use it because I’m switching between different projects and frameworks a lot. I found that me aligning with expected use patterns was easier than constantly adapting things for my magic setup.
I’m also not a config hound.
Check out Pulsar
pulsar-edit.dev
It’s basically the continuation of Atom. It’s got rough edges though regarding plugins but it’s good enough to allow me to avoid VSCode.
I mostly use VS Code as a simple text editor with some of the CSV plugins. Though with JetBrains coming out with Fleet I’ve started to use that more. It doesn’t have plugin support yet so it’s not getting a lot of use.
For everything else I use whatever JetBrains IDE fits. For work, it’s mostly IntelliJ, DataGrip, PyCharm, and DataSpell. At home, it’s IntelliJ DataGrip and CLion. I guess I’ve kinda drank the JetBrains KookAid, but to me, it’s worth the subscription to the all products pack. Especially if you are a polyglot since you keep a consistent IDE experience.
As @terrehbyte@ani.social says VS Code is ok for simpe text stuff but I prefer Goland and PyCharm for development. As a Child of TP6 I miss the simplicity of the IDE and the color scheme :)
VS Code is a great text editor for me. I write Markdown documents, manipulate bulk strings, and diff files with it. Aside from small scratch projects, its consistency and reliability as an IDE is varied for me. It’s far from “just works”, at least for the types of things I do (C, C++, C#, Rust) and isn’t really on my list of editors I’d recommend for those workloads.
You can make it work, but it’s going to require extensive time spent figuring out what extensions to use (and their quirks), ensure that you have a working setup to the language server, and learn how each environment wants you to setup its tasks and launch configurations, if applicable. Unlike larger IDEs like VS or Rider, it doesn’t have a consistent “new project” process either, so you’re on your own for that.
I wonder what troubles you had with rust in vscode. In my experience. I just install the rust-analyzer extension and it works every time.
Plus some (optional) extension to display the available dependency versions in the Cargo.toml.
Maybe debugging can be a bit tricky, but other than that it’s just installing 1 (or 2) extensions.
It’s exactly that: the trickiness around debugging is the main thing that feels like it’s got some barriers compared to a turnkey solution in an IDE. I heard VS Code and Godot was available until I realized that the LSP and debugger for Godot 4.x was unusable for months until the recent refactor.
Don’t get me wrong though, I am totally using VS Code for my Rust projects. It just isn’t a turnkey solution that I’d recommend to someone if they just want to hit “New project” and do the whole write-compile-debug loop without needing to understand anything. (I had also used it a while back prior to rust-analyzer being the main go-to extension, I think…)
VSCode isn’t an IDE, although you can kinda make it work like an IDE with extensions.
I use Visual Studio Professional as my IDE at work, but we do a lot of C#.
With these modern extensible text editors the line between IDE and editor is too blurry to really tell. Many things people would agree are IDEs (like Eclipse) are entirely based around a plugin architecture too. I don’t think it’s worth it to split hairs over whether Visual Studio Code and similar programs are or aren’t IDEs. With enough plugins, they’re IDEs. With too few, they aren’t. Where that line is is entirely subjective.
You also run into different sets of tools that define an IDE. And especially with language server protocols giving almost any text editor access to the only things that were ever strictly the domain of IDEs, I think it’s safe to say we live in a golden age of being able to write things with as much or as little assistance as you want
Like (Neo)vim, it’s a PDE: Personalized Development Environment
Props to TJ DeVries for coming up with that term.
I use VSCodium instead of Visual Studio Code. Visual Studio Code is a closed source distribution of “Code - OSS”. The names get a little confusing but Code - OSS is like Chromium, Visual Studio Code is like Google Chrome, and Codium is like ungoogled chromium. I use this because Visual Studio Code masquerades as being Open Source while hiding most of the functionality behind extensions in the marketplace while not letting other tools access the marketplace.
Vs codium, which is based on vscode but spyware is stripped out
VSCodium > VSCode
Since no one told me this, I will trek people:
If you go for codium, be warned that one of the big points of vs code, extensions, gets a lot more of a hassle.
One of the things you lose is access to Microsofts extension store, and they’ve added their own instead, and that one is missing a lot.
If you want extensions from the Microsoft store, you need to download them manually from the website, and keep them updated manually.
This includes the Python extension, so no Python for you (or at least no Pylance ;_;)
The point is that you can enable each separate extension you want running on your code editor or uninstall them if you’re unsatisfied. This makes it as light as you want it to be - or as heavy as you need it to.
VSCode is like
vim
without vim controls and in a browser. Seen that way, it makes more sense. With Vim, you have to hunt for obscure Github repositories and follow arcane installation instructions for hidden extensions that you may or may not need and you have to learn a whole-ass keyboard-shortcut-based programming language just to use any of it.With VSCode, you click on Extensions, search what you want and it’ll probably be there unless it’s a toxic ecosystem like PHP/C# or some niche ecosystem that no one heard about.
I used Sublime Text for YEARS, then they kept changing the license and pricing model, so with everyone at work going to VSCode I finally gave in for scripts and web dev. For Java (which is a decent chunk of my day) I use Intellij.
I used vscode for a few years, but I eventually went back to neovim/tmux. It’s a lot less resource heavy, and it’s easy to just ssh and jump in from home. I also much prefer a modal editor and I don’t want to have to touch a mouse.
If you’re already doing vim an tmux then vscode is not be worth it. The main draw of VSCode is LSP but you can get that from either COC or nvim+lspconfig. Those will still take more effort than vscode but it’ll be more familiar.
I do a lot of c++ and c# stuff. That feature where it opens a list of all the member functions and or variables of a given class or data type, the part where it underlines incorrect code as well as the thing that adds tooltip type documentation with comments to everything you hover your mouse over is invaluable.
The idea that there are people who program without that type of thing blows my mind. I can’t just memorize the entire code base myself 🤷 if I had to search the source code to verify every little thing every single time, it would take ages to get anything done.
I only use Linux and I don’t know what I’ll do when Microsoft eventually takes vs code away from us, whether by making it paid or dropping linux compatibility. I guess I’ll have to pirate the jetbrains software or something.
I use neovim. But if I had to choose between vscode vs. JetBrains stuff, I much rather vscode. It’s far cleaner.
It’s good for new, unrelated stuff. For example if you’re just starting to work with python, or just want to test some project, its much easier to setup than nvim or emacs. I also like intellij idea. I think in terms of just works, it is much better. But it is more resource intensive