meta: VS Code Vim becomes very very slow
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
Many people report this plugin slows down.
For me it becomes unbearably slow after a while (f.e. 1 key stroke per second, and they all get backed up while other VS Code actions can happen mid-way causing jumbled results).
Possibly related:
- https://github.com/VSCodeVim/Vim/issues/9708
- https://github.com/VSCodeVim/Vim/issues/8924
- https://github.com/VSCodeVim/Vim/issues/8557
- https://github.com/VSCodeVim/Vim/issues/8517
- https://github.com/VSCodeVim/Vim/issues/8115
- https://github.com/VSCodeVim/Vim/issues/7898
- https://github.com/VSCodeVim/Vim/issues/7804
- https://github.com/VSCodeVim/Vim/issues/7546
- https://github.com/VSCodeVim/Vim/issues/7415
- https://github.com/VSCodeVim/Vim/issues/7274
- maybe https://github.com/VSCodeVim/Vim/issues/6628
- https://github.com/VSCodeVim/Vim/issues/6589
- https://github.com/VSCodeVim/Vim/issues/5339
- https://github.com/VSCodeVim/Vim/issues/4728
- https://github.com/VSCodeVim/Vim/issues/4598#issuecomment-591769018
- https://github.com/VSCodeVim/Vim/issues/4293
- https://github.com/VSCodeVim/Vim/issues/4283
- https://github.com/VSCodeVim/Vim/issues/3957
- https://github.com/VSCodeVim/Vim/issues/3508
- https://github.com/VSCodeVim/Vim/issues/8887
- https://github.com/VSCodeVim/Vim/issues/8573
- https://github.com/VSCodeVim/Vim/issues/7301
- https://github.com/VSCodeVim/Vim/issues/6830 (still a problem)
- https://github.com/VSCodeVim/Vim/issues/6169
- https://github.com/VSCodeVim/Vim/issues/5188 (still problematic)
- https://github.com/VSCodeVim/Vim/issues/4941 (still problematic)
- https://github.com/VSCodeVim/Vim/issues/4309
- https://github.com/VSCodeVim/Vim/issues/4088
- https://github.com/VSCodeVim/Vim/issues/3924
- https://github.com/VSCodeVim/Vim/issues/3654
(I went to page 2 only, for both open and closed issues, searching "slow")
Related:
It might be "Microsoft's" fault for the extension API design? From https://github.com/VSCodeVim/Vim/issues/4598#issuecomment-591769018:
FWIW, I just tried amVim and it has the same issue. Perhaps the Extension Host is to blame for this? I would not be surprised, I think the Extension Host is garbage, and causes way more problems than it was intended to solve. (VSCodeVim commands do have to run in the separate extension host process right? It's pretty ridiculous for every key press to be doing IPC roundtrips, which is why I hate the Extension Host architecture for giving you no other option...)
I switched to Simple Vim
and it is a lot smoother.
In insert mode, it's just native VS Code, and the plugin listens only for Escape to go back to Normal mode. It's not as full featured, but enough for me to get productive without slowdowns, and to save my sanity.
Simple Vim still suffers from the same issues (seems like Extension Host), but it's doing a lot less so the issues aren't as pronounced.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name files, tests, or an entry point. Start by reproducing the slowdown and comparing the linked reports, especially the Extension Host and keypress behavior described here. Done should mean identifying a specific, actionable cause and a verified performance improvement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- devtools, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100