Linters are run every time entering/exiting insert mode
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
I have been going kind of nuts with poor performance lately in a Python project which uses both mypy and flake8 linters enabled. I finally had enough and started watching the process explorer, trying to reproduce the issue.
To Reproduce
Steps to reproduce the behavior:
- Open a semi-large python project with mypy and flake8 configured (example
- Enable vim extension
- Open any Python file in the project
- Very quickly enter and exit insert mode many times. The command I used to reproduce the issue was o-escape-o-escape-o-escape so the file would also get changed.
mypy and flake8 are run every single time. What's more, they're run on the actual files, which aren't saved... so it's just useless.

- Extension (VsCodeVim) version: 0.16.0
- VSCode version: 1.26.1
- OS: Arch Linux
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
Start by reproducing the issue with the linked semi-large Python project configured for mypy and flake8, using the stated insert-mode sequence in the VS Code Vim extension. Done means repeated entry and exit from insert mode no longer runs the linters against unsaved files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100