Closed
Description
Environment data
- VS Code version: 1.60
- Extension version (available under the Extensions sidebar): v2021.9.1218897484
- OS and version: windows 10
- Python version (& distribution if applicable, e.g. Anaconda): 3.9
- Type of virtual environment used: venv
- Relevant/affected Python packages and their versions: black 21.8b0, flake8 3.9.2
- Relevant/affected Python-related VS Code extensions and their versions: XXX
- Value of the
python.languageServer
setting: default
[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'
), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
black formats the file, then flake8 runs on the formatted code, so no formatting errors appear
Actual behaviour
formatter runs, then formatting errors from flake8 appears on the newly formatted code where the errors are no longer there
Steps to reproduce:
note that i can't reliably reproduce this, but if you change autosave to afterDelay
it seems to happen much more often
- change some code to formatting that black won't like (but still valid syntax)
- ctrl+s
- wait for the formatter and linter(s) to run
Logs
Output for Python
in the Output
panel (View
→Output
, change the drop-down the upper-right of the Output
panel to Python
)
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
##########Linting Output - mypy##########
Sandpit\foo.py:1:17: error: Incompatible types in assignment (expression has type "int", variable has type "str") [assignment]
Found 1 error in 1 file (checked 1 source file)
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
##########Linting Output - pylint##########
##########Linting Output - flake8##########
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m black --diff --quiet c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m black --diff --quiet c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
##########Linting Output - flake8##########
1,5,E,E241:multiple spaces after ':'
1,23,W,W292:no newline at end of file
1 E241 multiple spaces after ':'
1 W292 no newline at end of file
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
##########Linting Output - mypy##########
##########Linting Output - pylint##########
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m mypy --show-column-numbers c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
> c:\Users\user\project\.venv\Scripts\python.exe -m pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text c:\Users\user\project\Sandpit\foo.py
cwd: c:\Users\user\project
##########Linting Output - mypy##########
Success: no issues found in 1 source file
##########Linting Output - flake8##########
##########Linting Output - pylint##########
--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)