Python in VS Code Improves Jedi Language Server Support

Visual Studio Code developers who subscribe to Insiders builds of Microsoft's Python extension now have access to improved support for the Jedi language server.

VS Code's versatility depends upon extensions available in the open source code editor's marketplace, many of which use language servers to provide "smarts" specific to whatever programming language is being used.

These language servers usually support the Language Server Protocol (LSP) to define the protocol used between a code editor like VS Code or an IDE like Visual Studio and a language server that provides auto complete, go to definition, find all references and other features.

Jedi Language Server in Action
[Click on image for larger, animated GIF view.] Jedi Language Server in Action (source: Microsoft).

For the March 2021 update of Microsoft's Python extension -- by far the most popular item in the marketplace with 32.8 million downloads -- the dev team improved support for Jedi language servers. They offer an alternative to Microsoft's own Pylance language server.

"Our team has been working hard to unify the way that language servers communicate with the Python extension," said Luciana de Melo e Abud, program manager for the open source tool, in a March 16 blog post. "As a result, we've updated Jedi to abide by the Language Server Protocol (LSP). Alongside improved performance for features like completions and out-of-the-box error reporting, this also update simplifies the Python extension by eliminating the need to install pylint, ctags and rope."

The work leverages the existing jedi-language-server project, which itself is based on the Jedi autocompletion, static analysis and refactoring library for Python. That's similar to how Microsoft's Pylance language server is based on the company's Pyright static type checking tool.

Other improvements in the update include fixes, code health (including support for "Trusted Workspaces" security concept) and more, all detailed in the changelog.

Documentation of using Python in VS Code is available here.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube