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
}
}
}
}
@nullchilly
I just looked at your configuration and found that
pythonPath
affects the library index.So we can't set the value of
pythonPath
arbitrarily.Thank you for providing the configuration file, which helped me find a bug!