Skip to content

Instantly share code, notes, and snippets.

@rewhile
Last active October 6, 2024 08:45
Show Gist options
  • Save rewhile/91fb9d5bf410350d23dd8f4369e5183a to your computer and use it in GitHub Desktop.
Save rewhile/91fb9d5bf410350d23dd8f4369e5183a to your computer and use it in GitHub Desktop.
Add pylance to coc.nvim

Install the pylance extension in vscode or manually download it from the marketplace

The extension path should be similar to this: ~/.vscode/extensions/ms-python.vscode-pylance-2023.11.10

In init.vim, this will automatically detect the latest pylance version because after an upgrade the old plugin might linger for a while:

call coc#config('languageserver', { "pylance": { "module": expand("~/.vscode/extensions/ms-python.vscode-pylance-*/dist/server.bundle.js", 0, 1)[0] } })

In coc-settings.json, we add these env to trick pylance into thinking we are running vscode:

{
  "languageserver": {
    "pylance": {
      "enable": true,
      "filetypes": [
        "python"
      ],
      "env": {
        "ELECTRON_RUN_AS_NODE": "0",
        "VSCODE_NLS_CONFIG": "{\"locale\": \"en\"}"
      },
      "module": "${userHome}/.vscode/extensions/ms-python.vscode-pylance-2023.11.10/dist/server.bundle.js",
      "initializationOptions": {},
      "settings": {
        "python.analysis.typeCheckingMode": "basic",
        "python.analysis.diagnosticMode": "openFilesOnly",
        "python.analysis.stubPath": "./typings",
        "python.analysis.autoSearchPaths": true,
        "python.analysis.extraPaths": [],
        "python.analysis.diagnosticSeverityOverrides": {},
        "python.analysis.useLibraryCodeForTypes": true
      }
    }
  }
}
@RexsyBima
Copy link

RexsyBima commented Oct 6, 2024

Im so new into neovim but configuring pylance for neovim is very confsuing, anyone willing to help me????

EDIT :

Got it working now, but the thing is im only using old version of pylance, but is it possible to use the latest version? if so can anyone have a contact with me privately?

Sorry english is not my main...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment