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.
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.
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.
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.
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.
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.
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.
you lost me at that ‘but not the other way around’ part
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.
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.
In what way? That you can have multiple terminal panes open to accomplish a small portion of the above?
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.
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.
Just as dogmatic as the people you complain about.
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.
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.
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.
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.