-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extremely annoying auto completion #52500
Comments
@prd0000 Not that this fixes the issue, but as an aside: there is a user setting "editor.snippetSuggestions" which allows you to specify where in the intellisense list snippets show <top/bottom/inline/none> |
Already set snippet to bottom. EDIT: Sorry, had a workspace setting on top. |
@prd0000 Very interesting and something that should not happen. Weirdly enough, I cannot reproduce here... This is how it look on my machine and that's also how it should work Can you attach source/file in which this happens? Is that TypeScript or JavaScript? What version of VS Code does that happen in? Can you attach your settings file? |
@jrieken It is happening even in your example image! -- intellisense is coming up with "private method" which does not relate to [prev] as typed. Also the phrase "private method" contains the letters [p,r,v,e] so it doesn't even look up letters in the correct order as typed. |
You and I aren't on the same page here. What the gif shows is the designed behaviour, IntelliSense tries a few permutations because it's common a mistake to swap neighbournig characters. Check the second paragraph in https://code.visualstudio.com/updates/v1_19#_smarter-intellisense. If you don't like this, then please file a separate issue. The issue here is sorting, the match on |
@jrieken I think then two different issues are alluded to in the original comment. I commented on the first (fuzzy intellisense is annoying and / or can lead to inserted typos that need deleting), and you have commented on the second (why isn't the stronger match at the top of the list). So I assumed that this issue is the nature of fuzzy intellisense to try and be over-helpful (explained by your link) -- and this fuzziness should be optional. |
This is the configuration file:
Version 1.24.1 I have tried bottom and top. I got top suggestion from stackoverflow, and my original configuration was bottom. But when I set it to bottom or inline, this happens: and I have this
All my snippets are prefixed by @ So I guess I can't put snippet on bottom either. But really, you SHOULD NOT, and MUST NOT use fuzzy search on completion. I haven't seen any single IDE, Atom, Eclipse, Netbeans, or anything that use fuzzy search because it could interfere with our work. Also, I don't think anyone care to press down arrow to pick anything in that list. It takes too much time and work than to type the next letter or the correct thing. I personally won't take out my hand from my keyboard area and reach for arrow pad only to search for fuzzy matches. It is faster for me to erase the entire word and retype, and when autocomplete gave me the correct word on top, I press tab. If it is not, I would type the whole word myself, and press space, colon, or whatever required next to finish it, since, obviously, intellisense has failed. And if you are asking, I am complaining on BOTH. Why should you use fuzzy matching, and why you can put snippet or anything (not only snippets, and the title clearly stated auto-completion. Not limited to snippets, since sometimes I also encountered something else there) on top when my typed words clearly doesn't have anything to do with private? Even if I put "top" in my configuration, it MUST NOT do that, since we have an exact match. And when I put a "space" there, the word "prev" disappeared from suggestions, and I left only with private. Shouldn't it just disappeared along with my space? Or is that VSCode trying to outsmart me again? And NO IDE, has ever interfered with that. Even the smartest one that I have used, webstorm, has never forced its suggestion on me when I finish my word. I don't remember having this problem before, and I've been using VScode for some time. Then suddenly, yesterday it behaves like that. I don't remember having any update or not, but I have habit to press update whenever I see them. So I guess this is the newest one. And really, you should only do STRICT matches. |
Look at Sublime Text.
Yeah, nobody wants that and that's why we work hard to ensure the best match is placed on top. Before you throw another sample at me, can you answer my questions regarding your initial comment. With what value of
The text left of your cursor is matched against each suggestion. In that sample it is
|
When it happened, it was set on top. But I lost my snippet when I set to inline or bottom. Well, just remove that fuzzy search, or put an option to turn it off. That the source of all problem, both completion noise and unrelated items on top, including snippets, also missing snippet prefix. I guess intellisense was trying to be so smart and correct that @ prefix? By turning it off I like it was, you should be able to fix all problem. Do strict matching and honor my keywords. Like prev, or @react, or const. Fuzzy matching would only make job harder, instead of useful, unless you want to move your hand to a mouse or arrow keys to pick from list. Case insensitive matching is alright, but messing with character is a no no. |
This is the exact reason why I don't install snippet packs. |
No, my guess is that is: #37166. Assuming this is JavaScript/Typescript the issue is that TypeScript registers |
fyi - I have pushed a change to ensure snippets that start with a completion character show. |
I have extracted a feature request about having a setting to disable graceful matching to this issue #52789. Given that issue and the change mentioned above resolves this item. |
I am glad that @jrieken has opened the issue, that's great! I was having the same frustrations as @prd0000 and asked at SO in hopes that I simply didn't understand how it worked before thinking of submitting an issue. I guess what's frustrating is the initial reaction. VS Code is really great. Absolutely! But this fuzzy autocomplete to me is a disaster. @Cirieno , @prd0000 and I might be in the minority on that viewpoint, but in my case and I suspect in theirs, this is such a major issue that it is severely debilitating. I have typos all the time due to it. To have @jrieken 's initial comments come across as "it's working properly, the problem is that you cannot submit a proper bug report" is frustrating. Yes, we're only putting in an issue, not resolving it. But submitting issues is also a valuable part of the process. Can we appreciate the submitter a little bit as well as those who ultimately put in the fixes? |
Ok.. this isn't fun and downright a stupid feature.
Why do VScode MUST match my typed character individually instead off my partial word? And putting a snippet on top of it. When I press tab to put colon, it will PUT that snippet there, so I HAVE to retype everything ALL OVER AGAIN, and remember to press escape instead of tab. I want snippet completion, but I don't want fuzzy matches on MY snippet, much less unknown intrusive snippets. If I want my snippet, I will type my own prefix, not some random characters mumble jumble.
This is VERY frustrating, anti-productive, and I literally wanted to smash my screen for this.
The text was updated successfully, but these errors were encountered: