VSCodeVim / VSCodeVim/Vim

Linters are run every time entering/exiting insert mode

Open
#2,990 8 comments 0 reactions 0 assignees View on GitHub

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:

  1. Open a semi-large python project with mypy and flake8 configured (example
  2. Enable vim extension
  3. Open any Python file in the project
  4. 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.

image

  • Extension (VsCodeVim) version: 0.16.0
  • VSCode version: 1.26.1
  • OS: Arch Linux

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.