Skip to content

Test new Jedi language server with Python 3 #17540

Closed
@kimadeline

Description

@kimadeline

Refs: #17225

Complexity: 5

Create Issue


Requirements

  1. You will need Python 3 (doesn't matter which minor/patch version). Options are:
    • You can install it from python.org
    • On Mac/Linux, you can install it using your local package manager
    • For a managed solution that will allow you to install multiple versions of Python you can use pyenv on Mac/Linux, or pyenv-win on Windows, and call pyenv install 3.9.4
  2. Make sure you have "python.experiments.optInto": ["All"], in your user settings. If not, add it and reload VS Code.
  3. Make sure the python.defaultInterpreterPath entries in your user and workspace settings are at their default value python
  4. Use the latests Insiders build of the Python extension (set python.insidersChannel to daily, wait for the download and installation to happen and reload VS Code)
  5. Make sure you have a Python repo with enough references and definitions you can use to test the Jedi Language Server (aka not an empty Python file), for example debugpy

Check settings

  • Verify that the python.jediPath and python.jediMemoryLimit settings do not exist anymore

Test the language server

Make sure to use a Python repo here with enough references and definitions that you can use to test the Jedi Language Server (aka not an empty Python file), for example debugpy.

  1. Set the value of the python.languageServer setting (either in your test repo or in your user settings) to Jedi
  2. Open the folder in VS Code and activate the extension
  3. Verify that Starting Jedi language server. appears in the Python output panel
  4. Verify that there is a "Python Language Server" output panel, and that data is being printed there when using LS capabilities
  5. Test the language server: Jump to definition, completions, outline
  6. Make sure that refactoring actions can be triggered from lightbulb actions (and that they work)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions