Языковой сервер Pylance достиг стадии стабильной работы

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Мы рады объявить, что 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 внесет поправки в существующий оператор, добавив новый символ в алфавитном порядке, чтобы упорядочить ваш импорт.

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

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

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

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

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

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

Extract Variable

Extract Method

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

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

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

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

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

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

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

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

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

Фидбек

Если у вас есть какие-либо вопросы, комментарии или отзывы о вашем опыте, свяжитесь с нами на GitHub.

Источник: https://habr.com/ru/company/microsoft/blog/558388/


Интересные статьи

Интересные статьи

Компания «Деловой разговор» — Титановый партнер 3СХ — осуществила расширенную интеграцию IP-АТС 3CX с Битрикс 24. Ранее уже существовали отдельные модули, решающие конкретные задачи, напр...
Почти наверняка вам кажется, что реклама или пропаганда действуют на кого угодно, но точно не на вас. Вы всегда действуете рационально и не подвержены подобному влиянию. Но, скорее всего,...
Доброго времени суток, уважаемые жители Хабра. Вдохновившись статьей LTSP: Терминальный сервер на Linux решил сделать тоже самое только на CentOS 7. Побродив по просторам интернета и найдя ли...
Лето, безусловно, классное время: жара, солнце, лёгкая одежда и обувь, фрукты и приятные вечера. Для большинства сфер бизнеса лето тоже имеет прикольное преимущество: на фоне спада делового сезон...
PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но пр...