Компания Microsoft представила Python Language Server
Как сообщает opennet.ru компания Microsoft анонсировала модуль Python Language Server, в который вынесены компоненты для анализа и автодополнения кода на языке Python, ранее поставляемые в составе проприетарной среды разработки Visual Studio. После завершения тестирования код модуля будет открыт под лицензий Apache 2.0. Python Language Server является обособленным компонентом и может применяться для обеспечения поддержки языка Python в любых интегрированных средах разработки, поддерживающих протокол LSP (Language Server Protocol), например, в свободных продуктах Visual Studio Code, Nuclide и Atom.
Python Language Server реализован в виде серверного обработчика, который отвечает за операции, связанные с разбором семантики языка, используя методы статического анализа кода и предопределенную базу правил разбора. В том числе осуществляется отслеживание и определение типов для всех переменных в проекте с использованием симуляции выполнения кода. В модуле учтены особенности выпусков, начиная с Python 2.5 и заканчивая 3.7, включая такие возможности как async/await и аннотации типов. В состав включена коллекция typeshed с информацией о типах в стандартной библиотеке и различных пакетах.
Уровень поддержки Python соответствует возможностям подсистемы IntelliSense, предлагаемой в Visual Studio. Модуль может применяться для автодополнения кода, анализа опечаток и синтаксических ошибок, определения переходов, поиска ссылок, анализа доступности упоминаемых в коде модулей. На базе Python Language Server уже сформировано готовое дополнение для Visual Studio Code.