Что такое Pylance и какую роль он играет в VS Code

Ответ

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 так популярен:

  1. Скорость: Написан на TypeScript и работает на Node.js, что делает его значительно быстрее многих аналогов, написанных на Python.
  2. Точность: Благодаря Pyright, он обеспечивает одну из самых точных и полных реализаций проверки типов согласно последним PEP.
  3. Интеграция: Глубоко интегрирован в экосистему VS Code.