400
Vim > VSCode (lemmy.world)
submitted 3 weeks ago by n3cr0@lemmy.world to c/linuxmemes@lemmy.world
you are viewing a single comment's thread
view the rest of the comments
[-] tisktisk@piefed.social 1 points 3 weeks ago

you lost me at that 'but not the other way around' part

[-] masterspace@lemmy.ca 0 points 3 weeks ago* (last edited 3 weeks ago)

If you open a repo / folder in VSCode, you immediately have a terminal window pointing to that folder that you can execute any of your VIM or other command line programs in. You also immediately have a graphical file browser that's always available in a pane to the side if you want, a visualizer of your current git branch and history, tooltips and the ability to hover over things for more info, panes that can preview images, pdfs, 3d files, assets etc, tooling and plugins for things like your dev servers / kubernetes / docker so that you can immediately see what services are running in what state, rich debugging, etc.

Fundamentally, I just don't understand ideologically insisting on using the command line for everything. There are times when keeping it simple and text based makes sense, and it's almost always necessary as a fallback, but if you have the option, you can represent things faster and more cleanly with modern graphical interfaces.

Like just compare the command line version of your git history:

With the Git Graph extension version in VS Code:

The Git Graph extension is built on top of those git CLI commands, but it's an actual GUI that let's you represent your git history in a much more readable and scannable format, with quick and immediate access to related commands like viewing the files that were changed in a commit, or jumping to specific commits and branches.

Ignoring the related workflow improvements, even just from a pure graphical standpoint, if a developer honestly cannot comprehend why the human brain more easily processes stuff like a single connected git branch like the above, compared to a bunch of disconnected pipes | and slashes \ on separate lines, then I feel like they need more design training, or perhaps they've just evolved into such pure text based beings that they can no longer comprehend how normal people's brains work, but either way, it's not going to tend them towards good frontend development. I've worked at MAANG companies and I've seen the internal research on how much of a difference a slight feeling of being overwhelmed can make towards someone's enjoyment and usage of software, I don't see why that's so controversial or unexpected in some circles.

Like at work, if a developer wants to use VIM and command line tooling to do their job and has a setup that lets them work as fast as someone using a graphical IDE, I have zero issue with it, but the default Dev Environment that we're going to setup and document is going to use something like VS Code that can do more OOTB without a huge amount of learning CLI commands and workflows.

[-] GoodEye8@lemm.ee 1 points 3 weeks ago

While I agree with your general idea that there shouldn't be any dogmatic insistence that terminal environments are superior and everyone should use them. But the points you're bringing up tell me that you don't actually know how to use a terminal environment for development which makes your point equally as dogmatic as the terminal purists.

[-] masterspace@lemmy.ca 0 points 3 weeks ago

But the points you're bringing up tell me that you don't actually know how to use a terminal environment for development

In what way? That you can have multiple terminal panes open to accomplish a small portion of the above?

[-] GoodEye8@lemm.ee 4 points 3 weeks ago

Getting an automatic terminal window when you start up vs code is no different having two panes in tmux, one for VIM and once for terminal. You can get a visual project tree representation in VIM by using neotree plugin. Your git doesn't need to look like that, you can use lazygit. The only things you can't do within a terminal are reading the pdf or checking assets etc (but I personally wouldn't look at those things within vs code either), everything else you can do just as easily within the terminal without it looking like the image you gave.

I gave you the benefit of doubt by stating you don't know how to set up a terminal environment. But if you're going to be adamant about knowing what you're talking about then you should also know you're deliberately misrepresenting the alternative to make your arguments seem more valid.

[-] masterspace@lemmy.ca -1 points 3 weeks ago* (last edited 3 weeks ago)

Getting an automatic terminal window when you start up vs code is no different having two panes in tmux, one for VIM and once for terminal.

Yes it is, and I honestly cannot fathom how you cannot seem to comprehend the difference between text, and an actual pleasant to use and look at graphical interface.

Lazygit looks exactly as trash as the OOTB command line git. How do you not understand that the human brain processes a smooth connected line more easily than a pseudo line broken up by the line space height, made out of pipes and slashes? This is like product design and UX 101.

Again, VSCode does everything VIM does. Not vice versa, one is a superset of the other.

[-] GoodEye8@lemm.ee 1 points 3 weeks ago

Just as dogmatic as the people you complain about.

[-] masterspace@lemmy.ca 0 points 3 weeks ago* (last edited 3 weeks ago)

Literally not, since I'm advocating for a superset of what they are.

I use command line tooling perfectly happy within VSCode, they don't use graphical tooling within VIM.

I'm literally just advocating for a toolset that lets you use graphics or a cli, depending on what makes most sense for the task at hand, they're advocating to only use the cli.

[-] GoodEye8@lemm.ee 1 points 3 weeks ago

You're literally refusing to acknowledge the graphical difference between the standard git tree and Lazygit git tree, and you call it trash because it doesn't look like you want it to look. It's dogmatic.

[-] masterspace@lemmy.ca 1 points 3 weeks ago

No, I'm not. I'm just pointing out how lazygit is still limited by being a line by line, text based, CLI interface, and thus cannot draw a continuous vertical line, even if drawing a continuous vertical line would make sense in that situation:

[-] GoodEye8@lemm.ee 1 points 3 weeks ago

I think you meant horizontal line because lazygit is drawing vertical lines. And if we were to get pedantic when to lines cross in vs code then one of them also breaks which means vs code also doesn't have continuous lines. It's functionally the same visual representation of data so you're literally arguing over it not looking like you want it to look.

[-] masterspace@lemmy.ca 1 points 3 weeks ago* (last edited 2 weeks ago)

I said continuous vertical lines and literally posted a screenshot of it not being able to do it.

It's functionally the same visual representation of data so you're literally arguing over it not looking like you want it to look.

No, it's not. The human brain does not process dashed lines as easily as it does continuous lines. A whole bunch of dashed lines are objectively harder to follow than continuous ones.

You can think that's not important, but the literal decades of UX research and attention to fine grained user interaction, can prove that you're just flat out wrong.

You look at the above and think they're the same, but they're fundamentally not. Literally just go ahead and try and visualize a basuc cube with this base point and dimensions through a CLI and watch that wow, maybe a fucking typewriter interface isn't the best for absolutely everything:

Cube([0.37, -300, 45], [37,-98,-100])

[-] GoodEye8@lemm.ee 1 points 3 weeks ago

I said continuous vertical lines and literally posted a screenshot of it not being able to do it.

But it's literally doing that in your image. When a horizontal and vertical line cross the horizontal line breaks.

No, it’s not. The human brain does not process dashed lines as easily as it does continuous lines. A whole bunch of dashed lines are objectively harder to follow than continuous ones.

Oh, did you mean the points that represent actual commits? You're arguing it's trash because there's no line between two adjacent commits? Really?

You can think that’s not important, but the literal decades of UX research and attention to fine grained user interaction, can prove that you’re just flat out wrong.

You've brought it up multiple times now so I think it's time you also source that claim. Cmon, source the claim where the code editor with better visual fidelity increases productivity.

Literally just go ahead and try and visualize a basuc cube with this base point and dimensions through a CLI and watch that wow, maybe a fucking typewriter interface isn’t the best for absolutely everything:

Not only is this a stupid argument but it's one that I've already addressed. Yes, terminal can't do everything, but I don't think anyone is using VS code to look at a cube either. Actually, I'm not even sure if there is a VS code extension that draws cubes? So you wouldn't use VS code for that either. Just like someone using terminal for development would use a different tool to visualize a cube you'd do the same thing if you were using VS code for development. What the fuck are you even arguing here?

[-] masterspace@lemmy.ca 1 points 2 weeks ago* (last edited 2 weeks ago)

But it's literally doing that in your image. When a horizontal and vertical line cross the horizontal line breaks.

Yes, as an intentional graphical choice to illustrate the crossing of two paths.

In lazyvim a vertical line, with no crossings, is still broken, as it is two pipes separated by the line space height.

Oh, did you mean the points that represent actual commits? You're arguing it's trash because there's no line between two adjacent commits? Really?

No, I'm saying it's trash because it CANNOT do something basic like drawing a continuous vertical line, because it is hamstrung by using the interface of a typewriter. A git branch is just one readily available example of a situation where something extremely basic like drawing a continuous line would make sense.

You've brought it up multiple times now so I think it's time you also source that claim. Cmon, source the claim where the code editor with better visual fidelity increases productivity.

I can't cite internal market research that is under NDA. I can point you to basic courses on design and UX, point you to information on concepts like cognitive overload, and point out to you the multiple trillion dollar software companies that got to where they are entirely through paying attention to little UX details that backend nerds previously claimed didn't matter and were user skill issues.

Yes, terminal can't do everything, but I don't think anyone is using VS code to look at a cube either. Actually, I'm not even sure if there is a VS code extension that draws cubes? So you wouldn't use VS code for that either.

Bruh, why would you even try and talk out of your ass like this? I am literally using jsCad and VsCode to do my personal 3d printing modelling, and I literally got my start programming using first VS, then VSCode, to build 3d modelling software for Autodesk. Not sure if you're aware of this but modern websites have this little thing called WebGL that lets them display these little things called jraphics.

Again, VsCode can do everything VIM can do, but not vice versa.

[-] GoodEye8@lemm.ee 1 points 2 weeks ago

In lazyvim a vertical line, with no crossings, is still broken, as it is two pipes separated by the line space height.

My bad. I literally didn't notice that single pixel between the two lines.

No, I’m saying it’s trash because it CANNOT do something basic like drawing a continuous vertical line, because it is hamstrung by using the interface of a typewriter. A git branch is just one readily available example of a situation where something extremely basic like drawing a continuous line would make sense.

So it's trash because it doesn't look like how you want it to look like. Got it.

I can’t cite internal market research that is under NDA. I can point you to basic courses on design and UX, point you to information on concepts like cognitive overload, and point out to you the multiple trillion dollar software companies that got to where they are entirely through paying attention to little UX details that backend nerds previously claimed didn’t matter and were user skill issues.

Sure. I'd say you would understand me not taking the word of someone who has no problem being confidently wrong, but somehow I doubt you'd understand.

Bruh, why would you even try and talk out of your ass like this? I am literally using jsCad and VsCode to do my personal 3d printing modelling, and I literally got my start programming using first VS, then VSCode, to build 3d modelling software for Autodesk. Not sure if you’re aware of this but modern websites have this little thing called WebGL that lets them display these little things called jraphics.

Sorry. I made an invalid assumption because I've never had an actual need for anything like that. But hey, I never said VIM needs to do everything VsCode can. In fact I think I've been pretty open that you should use whatever tool suits the job and and my argument has been that for software development VIM is just as good as vsCode. The fact that you want to keep your jscad inside VS code is your personal preference, you can just as easily keep in the browser and switch between the terminal an browser. I don't get your need to die on the smallest of hills to be right but if that's all you want then go be right. I couldn't care less.

[-] pinball_wizard@lemmy.zip 2 points 3 weeks ago

That you can have multiple terminal panes open to accomplish a small portion of the above?

Yes. Obviously. Two conclusions available to you are, either CLI developers are idiots, or they have tools you are unaware of.

The answer to "how can anyone work this way?" is out there, if you're really interested.

[-] masterspace@lemmy.ca 1 points 3 weeks ago* (last edited 3 weeks ago)

No, the conclusion I've been saying is that CLI developers are smart people who have spent a long time memorizing commands to get fast at things that can be done quickly and intuitively through basic 2d graphical interfaces.

They're now either in a situation where the gains from learning the new process aren't going to outweigh the costs (though still doesn't mean anyone else should follow their path), or they would, but they're just stuck in their ways because of sunk cost fallacy.

this post was submitted on 30 Mar 2025
400 points (96.9% liked)

linuxmemes

24524 readers
423 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. 🇬🇧 Language/язык/Sprache
  • This is primarily an English-speaking community. 🇬🇧🇦🇺🇺🇸
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  •  

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS