Настройте Mypy в settings.json в vscode, чтобы обеспечить подсказку типа

Я пытаюсь заставить 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 применял подсказку типа?

Что будет, если удалить =True?

mkrieger1 02.05.2024 23:38

Я предполагаю, что --disallow-untyped-defs=True должно вызывать ошибку, поскольку test не типизировано. Боюсь, я не знаю ответа, но я знаю, что, если вы не работаете с существующим проектом, использующим Mypy, вам следует на 100% использовать Pyright. Это на порядки лучше.

Timmmm 02.05.2024 23:40

Также способ отладки — перейти в окно «Вывод» и выбрать Mypy в раскрывающемся списке справа.

Timmmm 02.05.2024 23:41
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
320
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Единственное, чего не хватало, это установки Mypy в моей среде Python pip install mypy, я думаю, это был недостающий фрагмент для расширения vscode «Mypy Type Checker», чтобы использовать аргументы, которые были написаны в .vscode/settings.json

Другие вопросы по теме