You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Figure out way to let jupyter query pylance for its list of completions #19129
I just thought of something. This whole thing is going to break de-duplication that we do for completions we get back from the jupyter kernel.
Right now, since the jupyter extension creates its own pylance, we can get the completions from pylance and remove those from jupyter that are the same thing.
After this change, the pylance server won't be started by jupyter and we won't be able to ask it directly for completions.
We need some way to find the specific completion provider (or the language client). So I think we'd need yet another API to pass the language client through to jupyter.
We'd need some way to get to this language client from jupyter still (well unless VS code has an API to return a specific completion provider but I don't think it does).
Once Python owning Pylance goes in, Jupyter can no longer get the list of completions from Pylance directly. Jupyter uses this to dedupe the results we get from the jupyter kernel.
Ideas:
Query vscode for them but set a recursion flag in jupyter to ignore the request? This might work. Might be tricky to get the timing right as the request is async so not sure if it comes from jupyter or a legit request
Pass the languageclient to the jupyter extension so it can query pylance directly (or jedi for that matter). Downside here is the version of the languageclient has to be in sync.
Pass something smaller - just a method to use for querying completions. Method should be able to use just vscode types so easier to keep in sync.
Activity
rchiodo commentedon May 11, 2022
Once Python owning Pylance goes in, Jupyter can no longer get the list of completions from Pylance directly. Jupyter uses this to dedupe the results we get from the jupyter kernel.
Ideas:
luabud commentedon Dec 14, 2023
There was a change made in Pylance to handle this for notebooks so closing this.