Introducing the Python Language Server
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
Jetbrains IDEs do support it: you have to manually generate the symbol cache for the first time, but the IDE knows your intent and maintains it for you, and for you as the user, autocomplete just works.
Another thing that Jetbrains has better, is weighing the importance of symbols that are offered: Open a random Django project, try to define a model and see, where the autocomplete makes better sense.
Visual Studio has full functionality but not all of it is exposed through the LS protocol just yet. Having full cross file code model helps with many things.
This means the compiler is now an abstracted platform that editors can get services from (CompilerAndCodeAnalysis-as-a-service?). Anders talks about the motivation for doing that here [2].
It's a pretty exciting idea. This might mean I would some day be able to use Vim and get IDE-like functionality.
[1] Roslyn https://github.com/dotnet/roslyn/wiki/Roslyn-Overview [2] https://www.youtube.com/watch?v=wSdV1M7n4gQ
This feature is super important if they want to build support for running and debugging python applications remotely... or in docker (which is something we want as well).
also pandas/numpy - vscode is not super great in debugging today, but the performance makes up for it.
Contrast with VSCode, written in Electron. I will admit that VSCode is one of the better Electron apps in regards to keeping the UI snappy, but it still hogs literary GBs of RAM without even having any files open (CentOS desktop). It will consume a full CPU core just sitting there if it is not minimized, I'm told that this is to blink the cursor. VSCode is decent if it is the only app you have open, but it is just too resource intensive in real world computing.
We actually moved these kids to vscode first. And then we realized how good vscode's performance really was.
I've attempted plugins for both Eclipse and IntelliJ. Multiple times. Defeat. I'm just not smart or stubborn enough to make something shippable.
No one hates JavaScript more than me (day gig is all nodejs). And I'm surprised to hear myself say that VS Code's superior design far outweighs the liability of using JavaScript. Especially the Language Server Protocol, which is a game changer.
I'll probably let my IntelliJ Ultimate subscription expire this year. Too bad. I really like Jetbrains.
Can you help us understand what you were trying to make, and the ways in which you experienced "defeat"?
So then I looked at MPS again. Maybe reimplement my grammar with MPS et al. Worked thru the tutorials. Again, I just can't figure out which way is up.
I recently watched an interview with Anders Hejlsberg about Roslyn and Language Server Protocol, where they decoupled the IDE from the compiler. Eureka. Makes perfect sense. In practice, it's a (comparative) cake walk.
https://github.com/Microsoft/vscode-python/blob/master/CONTR...
Completions on par with PyCharm but there are a few better refactorings in PyCharm but nothing that would make me switch back to PyCharm.
Usually it's stuff that has large native dependencies.
Frankly at the time I just assumed I couldn't download the package simply because it generally takes to long to compile Qt.
The reason I ask is because the Monaco code editor from VSCode can be used in the browser, and having Python Language Server implemented in JS means that any online editor using Monaco could potentially offer the same functionality from the browser itself without having to keep a connection to a backend server doing the lifting.
"For performance, it runs with .NET Core on Windows, macOS and Linux, works with Python 2.5 through to Python 3.7 and supports the latest language features"
If Sublime Text has a better existing one then I'd stick with that until this improves.
there is some work towards it in projects, not sure how ready to use they are
https://github.com/sourcegraph/sublime-lsp https://lsp.readthedocs.io/en/latest/#sublime-lsp-plugin-doc...