Ответ
Pylance — это высокопроизводительный Language Server для Python в Visual Studio Code, разработанный Microsoft. Он обеспечивает функции анализа кода, автодополнения и подсветки ошибок.
Pylance основан на статическом анализаторе типов Pyright, также от Microsoft, и является стандартным Language Server в официальном расширении Python для VS Code.
Ключевые возможности:
- Быстрая статическая проверка типов: Анализирует аннотации типов (type hints) и находит потенциальные ошибки еще до запуска кода.
- Умное автодополнение (IntelliSense): Предлагает релевантные варианты завершения кода на основе типов и контекста.
- Подробная диагностика ошибок: Четко указывает на синтаксические ошибки, неразрешенные импорты и несоответствия типов.
- Навигация по коду: Позволяет быстро переходить к определению переменных, функций и классов.
Пример работы:
Pylance мгновенно обнаружит ошибку типа при передаче int
в функцию, ожидающую str
.
def create_greeting(name: str) -> str:
return f"Hello, {name}!"
# Pylance подчеркнет '123' и покажет ошибку:
# Argument of type "int" cannot be assigned to parameter "name" of type "str"
message = create_greeting(123)
Почему Pylance так популярен:
- Скорость: Написан на TypeScript и работает на Node.js, что делает его значительно быстрее многих аналогов, написанных на Python.
- Точность: Благодаря Pyright, он обеспечивает одну из самых точных и полных реализаций проверки типов согласно последним PEP.
- Интеграция: Глубоко интегрирован в экосистему VS Code.