meander_water
3 days ago
This is actually bearable compared to the new terminal suggestions in vscode. Not only does it autosuggest bizzare completions for commands, it breaks shell completions. So when I tab a file path, it shoves the absolute path into the partially typed path making it unusable.
causal
3 days ago
Yeah for anyone else (especially Mac and Linux users) who recently had this frustration thrust upon you: Go into VSCode settings and search for terminal integration > uncheck.
wanhandle
17 hours ago
The specific setting is `terminal.integrated.suggest.enabled`.
Tyriar
3 days ago
Hi from the VS Code team - I recently went into detail about why we did this in https://github.com/microsoft/vscode/issues/282268#issuecomme.... We believe it'll be beneficial overall and go a long way in lowering the bar to make the terminal less intimidating for newcomers. Conflicts with muscle memory was always a big concern which is why we made extra effort to be able to turn it off, the comment below that one outlines some steps we're making to make it more easily configurable inline.
On the roll out side, this is what we observed:
- It was enabled in Insiders for several months, generally only very positive reactions - It was surprising to me that we shipped this to 25% of our stable users and basically no one complained for 2 weeks before we rolled out to 100% - After hitting 100% of users we did see some backlash like this comment - Of course telemetry doesn't show the whole story, but we try to determine both whether the completion was modified and whether the command was successful after using it and both numbers stayed relatively stable since shipping in Insiders at what we consider pretty good numbers (both accept without editing and command success rate is ~80%).
dobin
3 days ago
Nobody at Microsoft has ever used this with WSL, and doing a "cd /", and getting autocomplete for "$RecycleBin" and other windows paths? It completely breaks bash autocomplete, and every single suggestion is completely wrong, in every single command i type.
I, and probably most uses, just hoped this going away as soon as possible again.
Tyriar
3 days ago
One of the things we should definitely action is hiding it in more places where it doesn't work well, that's one of the key pieces of feedback we got and is tracked in https://github.com/microsoft/vscode/issues/282578
For that WSL one specifically we'll get it fixed in https://github.com/microsoft/vscode/issues/285037
h1bgod
3 days ago
Thanks for actioning it bro.
Neywiny
3 days ago
I've had to take a beat to find the right words as all the frustration in the issue ticket impacted me too which has left a very bad taste in my mouth after being initially curious and open to the new feature.
I think you're doing a disservice to newcomers by creating a new method of autocompletion. And I say that as somebody who has mentored a lot of newcomers in high school, University, and now professionally. Very often, including just yesterday, I'll hear something like "I don't really know how to use [very standard thing], we had [esoteric helper] instead." Yesterday it was for makefiles. Their school just abstracted it away to make it easier for them, so they don't know how to make a simple makefile to compile a few source files together. Or literally any other build system, including cmake. So, Lord have mercy on my soul if I have a new hire tell me "I don't know how to use the regular terminals. All I can use is VSCode's terminal." I think sometimes things should be hard, but I don't think terminal autocomplete is very hard. Just hit tab a few times and it'll do its thing or -h.
Where it might come in handy, and I haven't tested this, is programs that haven't registered their completions. For example, I'm often cross compiling, and it would be nice if it knew that ...-objcopy had the same completion as the host objcopy. But I am not going to take the hit of the bad pathing just for that.
I'll conclude with a lesson in biases: your insiders are biased. You need to recognize that only egregious errors might be statistically significant. Not only are they more power users, they're new feature hunters, and more than that, they want new VSCode features. Also, that's very creepy y'all are looking at my command success rate even though I'm not an insider. And if you look at the issue ticket, you'll see that a lot of the issues wouldn't cause failure. `Git add` on the wrong file isn't a negative return code, and they might just muscle memory press enter before seeing they need to edit. A possibly better metric is how many times did the user run the same command up to the completion point. But please don't collect that data, that's creepy. I'm going to have to look through my settings to try and turn that all off.
Tyriar
3 days ago
> So, Lord have mercy on my soul if I have a new hire tell me "I don't know how to use the regular terminals. All I can use is VSCode's terminal." I think sometimes things should be hard, but I don't think terminal autocomplete is very hard. Just hit tab a few times and it'll do its thing or -h.
Thanks for the insights. Something I've learned here is that the vast majority of users don't change their defaults or seek out features they may find very useful. Discoverability vs simplicity/bloat is a hard problem and that's essentially the issue here.
I made a note on the issue that with the planned changes to make it easier to configure, we should consider not overriding tab by default anymore. That would mean that only down arrow is bound by default which would then put focus into the widget.
> I'm going to have to look through my settings to try and turn that all off.
Full details at https://code.visualstudio.com/docs/configure/telemetry, but setting `"telemetry.telemetryLevel": "off"` will disable usage/crash/error telemetry for the VS Code core. Just keep in mind extensions may or may not respect that.
Here's that specific event if you're interested: https://github.com/microsoft/vscode/blob/b0e9dce905d12646801...
Neywiny
3 days ago
While I agree that new feature adoption is hard, changing tab completion is a bit hardcore. I agree that a different key bind, maybe right arrow key, or shift tab, or something would have been better.
lukevp
2 days ago
I agree with the point that making the VS Code terminal behave in a special manner without opt-in is going to be disruptive to newer engineers. Why not make it a shell plugin instead and offer to install/customize the shell the first time someone launches a new shell in VS Code instead? Then it changes it system wide, like oh-my-zsh or something would.
Dusseldorf
3 days ago
Here's a suggestion: maybe you could not track all of our activity extremely invasively by default, and allow those who would like to provide feedback and tracking to enable it on their own. Crazy thought, I know.
digitalPhonix
2 days ago
> I think you're doing a disservice to newcomers by creating a new method of autocompletion
Or a feature to lock users into their tools?
Neywiny
2 days ago
No, it's really not that good a feature and turning it off improves my experience so I don't care if they're the only ones with it. That said, if it's part of the open source, when better. And even if it was, I can't complain that a business made a program has a unique feature to attract users.
laserbeam
3 days ago
The insane behavior in the post is not that you get fancy completions, but that the completion does not match the preview. If the computer starts doing A when you asked it B, it is equivalent to a trash can.
itopaloglu83
3 days ago
Location, location, location.
The feedback you receive is from a selection of people who’re trying new features, not people with existing patterns that is broken one of a sudden with an update while they’re trying to get stuff done.
The_President
2 days ago
This a byproduct of metric-driven development. The result is a creepy manifestation of force-fed features backed by "telemetry" (action and result logging, and sometimes keystroke or string logging), but I don't place any blame on this developer; this is the way it has been at that company for a while and that horse has long since left the barn.
Certainly this may not even be intended gesture, but it will result in unknowable metric of users being insulted by the half-baked forced nature of these product changes.
teekert
2 days ago
First of all, I appreciate and respect you coming here and defending your choices. That said:
I think that bar-lowering is not really something that Terminal users want, if they wanted simplicity they wouldn't be in a terminal in the first place, at least that holds true for a large portion of the Terminal users.
Sure there are always the new users, who may benefit from some hand-holding. But why don't you ask first if people want their hand held? Normal terminal users are looking for a way to control their computer in a more direct fashion, which makes them faster. They seek a more predictable interface, by moving closer to the true language of the computer itself, by learning a bit about how it works inside and subsequently adapting oneself to it.
You have chosen to alienate a large group of highly knowledgeable users for a user group that may be mostly a myth.
What would make more sense is to provide a switch for "noob mode", while leaving the core experience alone. I for one already hate the difference between my normal terminal when it comes to ctrl-c/ctrl-v and pasting with select/middle-click. This current change feels like a slap in my face.
nubg
3 days ago
It's scary to see how Microsoft tracks every single of our keystrokes in vscode.
kace91
3 days ago
It’s so weird, vscode worked flawlessly for me for years and after migrating to neovim a month or two ago I keep seeing complains.
Has there been a change lately and in the project, or is it just internet bias?
atq2119
3 days ago
I've seen some weird breakage recently in vscode. The C++ support failing to parse sources correctly (for LLVM), Rust debugging no longer showing vectors properly. Not sure if this is some bizarre interaction with my setup (which is pretty vanilla Ubuntu) or a regression in basic functionality brought on by an over-emphasis on AI features.
It is worrying that for many months now, pretty much all the content of changelogs has been about AI.
hoten
3 days ago
Recent changes have been a little invasive. The terminal auto complete was a week or so ago, and the popular Gitlens extension also recently pushed a really poor rebase interface. Besides those two in the last weeks, I can't remember any time VS Code has messed up my workflows so badly.
Frotag
3 days ago
I remember thinking wtf when Python import suggestions became disabled by default.
petre
3 days ago
It does weird stuff. I've bitched about it do much to my workmates until they disabled autoformat features wich cause 5k line conflicts in SCM. I'm ysing codium which also does Clippy dmart stuff trying to be helpful and breaks code. They keep pushing AI junk and break functionality to the point that I'm looking for another editor with usable muliple cursors (not *vim and not helix which breaks my vim muscle memory).
nateb2022
3 days ago
If you like nvim you'd probably be interested in helix (https://helix-editor.com/) too
reactordev
3 days ago
Copilot
sa-code
3 days ago
I don’t know if this is related, but for me the terminal is broken and causes VS Code to crash. It only happens after a command finishes executing and before the shell prompts again
tsujamin
3 days ago
I thought I was going crazy, but it started feeling materially worse sometime in last few weeks.
matltc
3 days ago
Nope, not crazy. Pretty much solely used it for years but got a lazyvim* setup last week
Still has excellent integrated debugging and is more familiar than nvim, but it has really started to get in its own way the past couple minor versions
*Not "lazy I'm" (though perhaps I am for letting that slide)
pests
3 days ago
after two decades my muscle memory in the terminal is pretty important. that + with keyboard shortcuts ive had multiple jobs ask me to "slow down" when doing screenshares as everything moves so fast.
teekert
3 days ago
Ha, was going to come here to complain! It completely breaks my up arrow is history search based on typed chars. First thing I do on a Linux box (and it will blow your mind) is put this in ~/.inputrc :
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char
If you think that you can just start "enhancing" people's terminal experience like it's a Windows 11 taskbar, I don't think you understand terminal users. It's all good, but make it opt in via some config file (i.e. ~/.bashrc)!smj-edison
3 days ago
Ohh, that's what has been happening when I've had tab completion fail recently! Thanks for mentioning it...