-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish an official extension for vscode #194
Comments
What is meant by “heavier” and which is heavier, pyls or the MS extension? |
The MS extension could be considered a fat client. There’s a fair bit of typescript code that calls into Python where necessary. Pyls tried to keep all logic in the server. The src/extension.ts file has all the client logic we need. I’m not sure if @ghisvail is referring to performance? I’ve not compared the two. In terms of features, I’d say currently the MS extension is more complete. Although goes without saying, any work done to further Pyls will benefit all language server clients. |
Got it. I also noticed what I'd call buggy behavior when using pyls. E.g. when there's a class |
Our completion wrapper is indeed a very thin layer over Jedi: https://github.com/palantir/python-language-server/blob/develop/pyls/plugins/jedi_completion.py I would be willing to consider alternatives, or even build one if it makes sense, but Jedi seems like the standard tool even now. I’d be interested to know if you are aware of any other solutions? Currently we need Pyls to support Python 2, although I’m hoping we can remove that requirement by end-of-year and include some of the vast capabilities of tools like Mypy as standard. |
I don't know much about how Jedi works -- IIRC I tried it a few years ago and found it rather primitive. If the behavior I saw yesterday is due to Jedi I don't think it's mature enough. At Dropbox we're going to work on deeper integrating of mypy with various editors, and LSP is one of our targets. (I came across pyls doing some research for this project.) The main reason why we think that mypy will be more effective than Jedi is that we now have a mypy daemon which keeps all inferred type information in memory. It can also quickly update this information whenever a file is changed. It's too soon to say how successful we'll be, but it's quite possible that eventually mypy will be able to replace Jedi for most or all of its functionality. (Note that mypy supports Python 2 too.) |
I don't think this is an issue with Jedi. If completion is requested after |
@gvanrossum, is there any news regarding integration of mypy with various editors? I could not find any information. I am interested on working on a mypy-based language server -- I've made a proof of concept with dmypy providing hover/go-to-definition functionality within VS Code. (It has helped that Python 3.8 added |
@matangover Sorry, there's no progress. We may start working on this over the summer, but no promises. |
It's a year later. Is the idea abandoned? |
Unfortunately, we don't have plans to create a VSCode extension for this server because most contributors use it for other editors and IDEs. |
Can we add some documentation on enabling it for some IDEs? I assumed that installing the pip package would somehow register it for vscode to catch, but that doesn't seem to be the case. |
@ccordoba12 What about the developers who want to simply use the extension (without developing it)? I mean, it strikes me from the ReadMe and integration-related questions/issues that there's so little support on actually using it. Or maybe I just had overly optimistic expectations regarding "readiness for use"... |
Are there any plans to make the
vscode-client
available as an official extension, or is it designed for internal use only?It could join the family of existing language server plugins like Java, Scala or Rust. There is already a Python plugin officially sponsored by Microsoft but it is significantly heavier in comparison.
Thoughts?
The text was updated successfully, but these errors were encountered: