microsoft / pylance-release

Documentation and issues for Pylance
Creative Commons Attribution 4.0 International
1.71k stars 767 forks source link

Code Navigation Broken #6437

Closed nikhilmakan02 closed 3 weeks ago

nikhilmakan02 commented 4 weeks ago

Type: Bug

Behaviour

Code navigation is not working with the latest Python extension i.e. click through on imports, function names etc.

Steps to reproduce:

Installed the Python extension v2024.14.0. The following basic sample script can be used to show its not working e.g. there is no CTRL Click available on execute(). Rolling back to 2024.12.3 fixes the issue.

def test():
    pass

def execute():
    test()
    return None

execute()

v2024.14.0 - Not working image

v2024.12.3 - Working image

Diagnostic data

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

``` XXX ```

Extension version: 2024.14.0 VS Code version: Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:13:33.891Z) OS version: Windows_NT x64 10.0.19045 Modes: Remote OS version: Linux x64 5.15.0-1040-azure

User Settings

``` languageServer: "Pylance" ```

Installed Extensions |Extension Name|Extension Id|Version| |---|---|---| |Docker|ms-azuretools.vscode-docker|1.29.2| |JavaScript Debugger|ms-vscode.js-debug|1.89.0| |Jupyter|ms-toolsai.jupyter|2024.4.0| |Jupyter Cell Tags|ms-toolsai.vscode-jupyter-cell-tags|0.1.9| |Jupyter Notebook Renderers|ms-toolsai.jupyter-renderers|1.0.19| |Jupyter Slide Show|ms-toolsai.vscode-jupyter-slideshow|0.1.6| |Prettier SQL VSCode|inferrinizzard.prettier-sql-vscode|1.6.0| |Pylance|ms-python.vscode-pylance|2024.8.2| |Python|ms-python.python|2024.14.0| |Python Debugger|ms-python.debugpy|2024.8.0| |Ruff|charliermarsh.ruff|2024.50.0| |Table Visualizer for JavaScript Profiles|ms-vscode.vscode-js-profile-table|1.0.9| |Todo Tree|Gruntfuggly.todo-tree|0.0.226|
System Info |Item|Value| |---|---| |CPUs|13th Gen Intel(R) Core(TM) i5-1345U (12 x 2496)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|15.20GB (5.39GB free)| |Process Argv|| |Screen Reader|no| |VM|0%| |Item|Value| |---|---| |Remote|Dev Container: Python 3 Template @ 13.75.237.237| |OS|Linux x64 5.15.0-1040-azure| |CPUs|Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz (4 x 2294)| |Memory (System)|15.62GB (12.07GB free)| |VM|0%|
StellaHuang95 commented 3 weeks ago

Thanks for the issue. I wasn't able to repro it with the Python extension and Pylance extension versions you provided. Could you provide the logs as described here? https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue

nikhilmakan02 commented 3 weeks ago

@StellaHuang95

Seems to be having an issue with the VS Code Version. I don't have control over the VS Code version unfortunately as this is a business setup. I confirm rolling back only the Python extension version resolves the issue and this error does not show up in the logs anymore.

[Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1

2024-09-23 20:47:45.669 [info] Telemetry is disabled
2024-09-23 20:47:45.669 [info] Experiments are disabled, only manually opted experiments are active.
2024-09-23 20:47:45.669 [warning] Dir "/workspaces/test_repo/.pixi/envs" is not watchable (directory does not exist)
2024-09-23 20:47:45.727 [info] Default formatter is set to charliermarsh.ruff for workspace /workspaces/test_repo
2024-09-23 20:47:46.477 [info] Python interpreter path: /opt/app-root/bin/python
2024-09-23 20:47:46.938 [info] > pyenv which python
2024-09-23 20:47:46.938 [info] cwd: .
2024-09-23 20:47:47.877 [info] > conda info --json
2024-09-23 20:47:47.881 [error] [
  `Failed to start language server, Class name = h, completed in 306ms, has a falsy return value, Arg 1: <Uri:/workspaces/test_repo>, Arg 2: {"id":"/opt/app-root/bin/python","sysPrefix":"/opt/app-root","envType":"Venv","envName":"app-root","envPath":"/opt/app-root","path":"/opt/app-root/bin/python","architecture":3,"sysVersion":"3.12.1 (main, May  3 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)]","version":{"raw":"3.12.1","major":3,"minor":12,"patch":1,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.12.1 ('app-root')","detailedDisplayName":"Python 3.12.1 ('app-root': venv)","type":"Virtual"}, Arg 3: {"documentSelector":[{"scheme":"file","language":"python"},{"scheme":"untitled","language":"python"},{"scheme":"vscode-notebook","language":"python"},{"scheme":"vscode-notebook-cell","language":"python"},{"scheme":"vscode-interactive-input","language":"python"}],"synchronize":{"configurationSection":["python","jupyter.runStartupCommands"]},"outputChannel":{"name":"Python Language Server","logLevel":3},"revealOutputChannelOn":4,"initializationOptions":{"experimentationSupport":true,"trustedWorkspaceSupport":true},"middleware":{"serviceContainer":{"container":{"options":{"autoBindInjectable":false,"defaultScope":"Transient","skipBaseClassChecks":true},"id":0,"_bindingDictionary":{"_map":{}},"_snapshots":[],"_middleware":null,"_activations":{"_map":{}},"_deactivations":{"_map":{}},"parent":null,"_metadataReader":{},"_moduleActivationStore":{"_map":{}}}},"serverVersion":"2024.8.2","lastCaptured":{},"nextWindow":0,"eventCount":0,"workspace":{},"connectedPromise":{"scope":null,"_resolved":false,"_rejected":false,"_promise":{}},"notebooks":{},"eventName":"LANGUAGE_SERVER.REQUEST"}}, Return Value: undefined`,
  [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
]
2024-09-23 20:47:47.882 [error] [
  'Starting language server, Class name = d, completed in 309ms, has a falsy return value, , Return Value: undefined',
  [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
]
2024-09-23 20:47:47.882 [error] [
  `Failed to start language server, Class name = d, completed in 311ms, has a falsy return value, Arg 1: <Uri:/workspaces/test_repo>, Arg 2: {"id":"/opt/app-root/bin/python","sysPrefix":"/opt/app-root","envType":"Venv","envName":"app-root","envPath":"/opt/app-root","path":"/opt/app-root/bin/python","architecture":3,"sysVersion":"3.12.1 (main, May  3 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)]","version":{"raw":"3.12.1","major":3,"minor":12,"patch":1,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.12.1 ('app-root')","detailedDisplayName":"Python 3.12.1 ('app-root': venv)","type":"Virtual"}, Return Value: undefined`,
  [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
]
2024-09-23 20:47:47.883 [error] [
  'Failed to activate a workspace, Class name = v, completed in 2144ms, has a falsy return value, Arg 1: <Uri:/workspaces/test_repo/test.py>, Arg 2: {"started":1727124464375}, Return Value: undefined',
  [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
]
2024-09-23 20:47:47.883 [error] Failure during activation. [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
2024-09-23 20:47:47.883 [error] sendStartupTelemetry() failed. [Error: The language client requires VS Code version ^1.91.0 but received version 1.89.1
    at P.checkVersion (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2307252)
    at new P (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:2306957)
    at Object.createClient (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:52239)
    at _0x500d80 (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:214309)
    at async _0x5446db (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:218007)
    at async _0x1d21da._startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:167298)
    at async _0x1d21da._createNewRequest (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166823)
    at async _0x1d21da._enqueueRequestAndWaitForRun (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:166027)
    at async _0x1d21da.startClient (/opt/app-root/src/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/extension.bundle.js:1:165543)
    at async h.start (/opt/app-root/src/.vscode-server/extensions/ms-python.python-2024.14.0-linux-x64/out/client/extension.js:2:39659)]
StellaHuang95 commented 3 weeks ago

Thanks for confirming. The error message, The language client requires VS Code version ^1.91.0 but received version 1.89.1, indicates that you need to upgrade VS Code to at least version 1.91.0 in order to use the newer Python/Pylance extension. Unfortunately, if you're unable to upgrade VS Code, you'll need to downgrade the Python/Pylance extension as a workaround.