this post was submitted on 22 Jul 2024
104 points (91.9% liked)

Programming

16943 readers
761 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
104
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 60 points 1 month ago (2 children)

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.

[–] [email protected] 14 points 1 month ago

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.

[–] [email protected] 4 points 1 month ago

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.

[–] [email protected] 40 points 1 month ago

I don't think VSCode's mantra is that it "just works". It's definitely a "platform" IDE like Eclipse was.

[–] [email protected] 25 points 1 month ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 19 points 1 month ago* (last edited 1 month ago) (1 children)

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?

[–] [email protected] 6 points 1 month ago (1 children)

VSCode seems to have fun ignoring my "don't guess encodings and assume this one" on files.

VSCodium respects that setting.

load more comments (1 replies)
[–] [email protected] 18 points 1 month ago (2 children)

I used to use VSCodium (pretty much just VSCode without the closed source binaries and telemetry) but now I completely use Helix and Zellij.

[–] [email protected] 8 points 1 month ago (5 children)

I'm currently using VSCodium too, why did you switch? What's the appeal? Would you recommend them?

load more comments (5 replies)
[–] [email protected] 4 points 1 month ago

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.

[–] [email protected] 18 points 1 month ago* (last edited 1 month ago) (3 children)

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...

Write and lint Markdown documentation ? VS CodeBuild fairly complex C++ software ? VS CodeDebug slapped together Bash scripts ? Also VS CodeHobby-grade Python fun times ? Believe it or not, also VS Code

load more comments (3 replies)
[–] [email protected] 15 points 1 month ago (2 children)

Vs codium, which is based on vscode but spyware is stripped out

[–] [email protected] 9 points 1 month ago (1 children)

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.

[–] [email protected] 6 points 1 month ago

This includes the Python extension, so no Python for you (or at least no Pylance ;_;)

load more comments (1 replies)
[–] [email protected] 14 points 1 month ago (5 children)

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.

[–] [email protected] 10 points 1 month ago (1 children)

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.

[–] [email protected] 6 points 1 month ago

It's paid like WinRAR is paid.

load more comments (4 replies)
[–] [email protected] 12 points 1 month ago (2 children)

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.

[–] [email protected] 9 points 1 month ago

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.

load more comments (1 replies)
[–] [email protected] 12 points 1 month ago

lazyvim is enough for me.

[–] [email protected] 12 points 1 month ago* (last edited 1 month ago)

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

[–] [email protected] 11 points 1 month ago (2 children)

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#.

[–] [email protected] 17 points 1 month ago (1 children)

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.

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 11 points 1 month ago

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.

[–] [email protected] 10 points 1 month ago (2 children)

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.

load more comments (2 replies)
[–] [email protected] 9 points 1 month ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 9 points 1 month ago

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.

[–] [email protected] 9 points 1 month ago

Use what works for you.

[–] [email protected] 8 points 1 month ago

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.

[–] [email protected] 8 points 1 month ago

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.

[–] [email protected] 7 points 1 month ago (2 children)

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.

[–] [email protected] 5 points 1 month ago (1 children)

I of course wish it was fully open source

Allow me to introduce you to Codium

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 6 points 1 month ago* (last edited 1 month ago)

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.

[–] [email protected] 6 points 1 month ago* (last edited 1 month ago)

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-topicNo, 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.

[–] [email protected] 6 points 1 month ago

nothing is working out of the box

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?

[–] [email protected] 6 points 1 month ago (2 children)

I switched to Zed recently. Very basic and definitely is not as feature rich as VSCodium but I'm sure it'll get better.

load more comments (2 replies)
[–] [email protected] 6 points 1 month ago

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.

[–] [email protected] 5 points 1 month ago

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.

[–] [email protected] 5 points 1 month ago

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.

[–] [email protected] 4 points 1 month ago

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.

[–] [email protected] 4 points 1 month ago (1 children)

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.

[–] [email protected] 11 points 1 month ago (2 children)

Funny to read VSCode described as an IDE.

Why would VSCode not be called an IDE?

[–] [email protected] 9 points 1 month ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 9 points 1 month ago (6 children)

No, it's a code editor. It can become an IDE with the right set of plugins.

load more comments (6 replies)
[–] [email protected] 4 points 1 month ago

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)

[–] [email protected] 4 points 1 month ago

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.

[–] [email protected] 4 points 1 month ago

Hell no, Emacs and nvim UX is far superior. I won't ever go back to clicking.

[–] [email protected] 4 points 1 month ago

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.

load more comments
view more: next ›