Некорректно работает расширение Автоформатирование в vscode (autopep8, python, vscode)
У меня установлен Visual Studio Code Версия: 1.85.1 ОС: Windows_NT x64 10.0.22631 Я установил через pip install autopep8 формартер для python: C:\Users\akash\AppData\Local\Programs\Python\Python312\Scripts\autopep8.exe Установил расширение autopep8 в vscode. Выбрал его по умолчанию: "editor.defaultFormatter": "ms-python.autopep8" Мой файл для тестирования main.py:
1 my_list = [1, 2, 3]
2
3 print(my_list)
4
Если я намеренно вношу в него лишние пробелы так:
1 my_list = [ 1, 2, 3 ]
2
3 print( my_list )
4
и форматирую с помощью сочетания клавиш Ctrl+Alt+F то файл возвращается к исходному виду «правильному» виду.
Если я вношу в него пробелы (лишние отступы) так:
1 my_list = [1, 2, 3]
2
3 print(my_list)
4
То форматирование в окне редактора с помощью сочетания клавиш Ctrl+Alt+F не работает. В панели состояния ошибки, при запуске в терминале.
Но если я в терминале ввожу команду
> autopep8 --in-place --aggressive main.py
То файл форматируется и возвращается к правильному виду: Пробовал устанавливать другие расширения автоформатирования, результат такой же. То есть, как я понимаю, установленный autopep8 C:\Users\usr\AppData\Local\Programs\Python\Python312\Scripts\autopep8.exe работает правильно – исправляет ошибки, в том числе с отступами, а расширение autopep8 – исправляет не все.
Ответы (1 шт):
Поскольку расширение autopep8 воспринимает этот код (с лишними отступами в начале строки) не python код (не валидный код), то и не форматирует в отличие от системного> autopep8 -i file.py.