Языковой сервер Pylance вышел в релиз

Kate

Administrator
Команда форума
Мы рады объявить, что Pylance, наша быстрая и многофункциональная языковая поддержка Python в Visual Studio Code, официально вышла из предварительной версии и достигла своего первого стабильного выпуска.

Ранее на этой неделе мы объявили, что, начиная с майского выпуска расширения Python, Pylance теперь также является сервером языка Python по умолчанию в Visual Studio Code. Pylance также теперь включен в пакет расширения ядра Python в качестве дополнительной зависимости, что означает, что мы автоматически установим его для вас, но у вас есть возможность использовать другой языковой сервер по вашему выбору.

Предпосылки​

В июне прошлого года мы выпустили общедоступную предварительную версию нового языкового сервера Python, Pylance, в рамках обязательства предоставить пользователям Python надежные и производительные языковые функции в Visual Studio Code. После публичной предварительной версии Pylance мы получили как похвалу, так и конструктивные отзывы от сообщества, которые мы использовали для нашей работы в течение последних одиннадцати месяцев.

Сегодня мы рады сообщить, что основной набор функций Pylance достиг стабильной версии в Visual Studio Code!

Обзор функций Pylance​

Начиная с нашего первоначального выпуска, мы продолжали улучшать производительность и удобство использования нескольких ключевых функций (например, завершения, автоматического импорта, справки по сигнатуре функций, строк документации) и добавляли новые функции (например, извлечение переменных, контекстное выделение).

Если вы еще не являетесь пользователем Pylance, вот краткий обзор некоторых из важных функций, которые языковой сервер предоставляет для разработки на Python в Visual Studio Code.

Auto-import completions (Автоимпорт завершений)​

Благодаря автоматическому импорту вы можете получать интеллектуальные предложения по импорту в списке завершений для установленных и стандартных библиотечных модулей. После выбора соответствующий импорт будет добавлен в начало файла, поэтому вам не нужно прокручивать вверх и добавлять его вручную. Авто-импорт завершений также включает четкую Preview-версию оператора импорта, который будет добавлен в ваш файл во всплывающей подсказке, чтобы вы точно знали, какой символ импортируете. Если вы уже импортировали другие подмодули или функции из этого модуля, Pylance внесет поправки в существующий оператор, добавив новый символ в алфавитном порядке, чтобы упорядочить ваш импорт.

df9c2c89730ed5705ce972e411c24281.gif

Справка по сигнатуре функции с информацией о параметрах и возвращаемом типе​

Pylance предоставляет полезную всплывающую подсказку о сигнатуре функций, которая включает информацию о типе, чтобы помочь вам правильно вызывать функции без необходимости просматривать внешнюю документацию. Справка по сигнатуре функций также обрабатывает функции с несколькими переопределениями. Вы можете легко перемещаться между сигнатурами, пока Pylance выделяет соответствующий активный параметр жирным шрифтом.

47ceb205cf6f1ca8c863d80fc6d7d141.gif

Навигация по коду​

Pylance также предоставляет функциональные возможности навигации по коду, такие как переход к определению и переход к объявлению, чтобы вы могли быстро перейти к пользовательскому коду, исходным файлам (например, .py) или типу файлов (.pyi).

3878ba328217b40aa8eefd29f74de25b.gif

Рефакторинг действий кода - извлечение переменной и извлечение метода​

Pylance также предоставляет вам возможность использовать действия рефакторинга кода, которые позволяют выделять строки кода и автоматически выполнять рефакторинг и извлекать их в новые методы или переменные одним нажатием кнопки.

Extract Variable

e651e1e01108063732d4249d820aed5e.gif

Extract Method

0f33ae2e2989fdebb4447e97c4468b43.gif

Семантическая раскраска​

Семантическая раскраска Pylance помогает улучшить читаемость и понимание вашего кода. Если вы не знакомы с семантической окраской, это расширение для выделения синтаксиса. Pylance генерирует семантические токены, которые используются темами для применения цветов на основе семантического значения символов (например, переменные, функции, модули имеют разные цвета, примененные к ним).

Чтобы увидеть эту новую функцию в действии, вам нужно будет применить тему, поддерживающую семантический цвет. Некоторые отличные темы для опробования семантической раскраски - это встроенная тема Dark + или One Dark Pro, используемые ниже.

b011a55935cdb313ad5651efee618161.gif

Контекстная подсветка документа​

Pylance поддерживает контекстное выделение, которое помогает быстро определить, где символы используются в конкретном файле.

f4d8a9256d01a86c36879591f0330dc5.gif

Поддержка проверки типов через Pyright​

Поскольку Pylance использует нашу программу проверки типов с открытым исходным кодом под названием Pyright, языковой сервер также поставляется со встроенной проверкой статических типов, если вы заинтересованы в написании типизированного Python. По умолчанию функция проверки типов не включена, и вы увидите диагностику (ошибки и предупреждения) в своем коде только в том случае, если у вас синтаксически недопустимый Python. Однако вы можете включить базовую или строгую проверку типов, настроив python.analysis.typeCheckingMode. Этот параметр использует проверку типов Pyright для применения базового или полного набора правил к вашей кодовой базе соответственно. Диагностика, производимая в этом режиме, может помочь улучшить качество вашего кода и упростить поиск крайних случаев.

a6479d8994217bdcc52d57f724f2cb25.gif

Совместимость IntelliCode​

Pylance также полностью совместим с IntelliCode, который выводит рекомендуемые дополнения для вашего конкретного контекста кода в верхнюю часть вашего списка завершений, чтобы еще больше повысить вашу продуктивность.

7c9ae663013c01cc5a8c035872e18670.gif



Источник статьи: https://habr.com/ru/company/microsoft/blog/558388/
 
Сверху