Я пытаюсь заставить Mypy в VSCode применять подсказку типа, но безуспешно. Я пробовал следовать предыдущему сообщению, но решение не сработало: Настройте Mypy в VSCode для принудительного подсказки типа
В моем vscode установлены следующие расширения, связанные с Python: «Mypy Type Checker», «Pylance», «Python», «Python Debugger». Мой .vscode/settings.json имеет
{
"mypy-type-checker.importStrategy": "fromEnvironment",
"mypy-type-checker.args": [
"--disallow-untyped-defs=True",
"--disallow-untyped-calls=True",
"--check-untyped-defs=True",
"--no-implicit-optional=True",
]
}
Мой каталог выглядит так
C:.
│
├───.vscode
│ launch.json
│ settings.json
└───src
│ main.py
И мой main.py содержит только
def test(t):
print(t)
но Mypy не обеспечивает подсказку типа (нет красной линии под кодом)
Как я могу изменить файл settings.json так, чтобы Mypy применял подсказку типа?
Я предполагаю, что --disallow-untyped-defs=True
должно вызывать ошибку, поскольку test
не типизировано. Боюсь, я не знаю ответа, но я знаю, что, если вы не работаете с существующим проектом, использующим Mypy, вам следует на 100% использовать Pyright. Это на порядки лучше.
Также способ отладки — перейти в окно «Вывод» и выбрать Mypy в раскрывающемся списке справа.
Единственное, чего не хватало, это установки Mypy в моей среде Python pip install mypy
, я думаю, это был недостающий фрагмент для расширения vscode «Mypy Type Checker», чтобы использовать аргументы, которые были написаны в .vscode/settings.json
Что будет, если удалить
=True
?