Skip to content
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

Meta for tracking Language Server issues #1006

Closed
20 of 25 tasks
MikhailArkhipov opened this issue Mar 9, 2018 · 10 comments
Closed
20 of 25 tasks

Meta for tracking Language Server issues #1006

MikhailArkhipov opened this issue Mar 9, 2018 · 10 comments
Assignees
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. area-linting feature-request Request for new features or functionality meta Issue that is tracking an overall project

Comments

@MikhailArkhipov
Copy link

MikhailArkhipov commented Mar 9, 2018

List of issues we need to resolve in PTVS GitHub

@MikhailArkhipov MikhailArkhipov added feature-request Request for new features or functionality area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. area-linting meta Issue that is tracking an overall project labels Mar 9, 2018
@MikhailArkhipov MikhailArkhipov added this to the March 2018 milestone Mar 9, 2018
@MikhailArkhipov MikhailArkhipov self-assigned this Mar 9, 2018
@brettcannon
Copy link
Member

brettcannon commented Mar 9, 2018

Why don't you want to track this in the project?

@MikhailArkhipov
Copy link
Author

I need a single place to find all related PTVS links

@zooba
Copy link
Member

zooba commented Mar 20, 2018

FYI, I renamed "Support PEP style type hints" to "Support comment type hints". We already support PEP 484 style hints, but only in annotations.

@brettcannon brettcannon modified the milestones: March 2018, April 2018 Mar 27, 2018
@MikhailArkhipov MikhailArkhipov modified the milestones: April 2018, May 2018 Apr 19, 2018
@MikhailArkhipov MikhailArkhipov changed the title Meta for tracking PTVS issues Meta for tracking Language Server issues Jun 4, 2018
@brettcannon brettcannon removed this from the May 2018 milestone Jun 6, 2018
@davidhalter
Copy link

davidhalter commented Jul 4, 2018

Hi guys

I was wondering if you could explain a bit why you are pushing forward to use PTVS instead of Jedi (correct me if I'm wrong). IMO Jedi is still the better solution for a couple of reasons:

  • Jedi is written in Python and has therefore better community support.
  • Jedi has a long history (6+ years) with a lot of learnings and years of refactorings.
  • Jedi understands dynamic features very well (list.append(), searching for function executions...)
  • Jedi understands many of the weird import practices (old/new school namespace packages, eggs, zip archives, etc)
  • Jedi can complete f-strings, async/await things and has generally a very good understanding of modern Python features.
  • Since the latest Jedi version, Virtual Environments and different Python versions are perfectly handled in Jedi.
  • Parso is generally a very fast parser, because it only parses the changes people made. This is unfortunately still the source of some errors, but it also makes parsing very fast in big files (3 kLOC+)
  • Jedi is generally very well tested (~ 2k tests, 850 in parso).
  • There are currently 196 bugs open in PTVS, 26 bugs being related to Intellisense; Jedi has currently 12 open bugs, 6 being related to "Intellisense" (6 being linter bug, which is not used by anyone). parso (Jedi's parser) has currently one open bug.

So what I'm asking is, is there a way we could make Jedi better so you would reconsider? Or is this decision driven by the idea that you only have one stack and only C# dependencies?

There are many features that have not been implemented in Jedi, but would easily be possible given time or appropriate resources: Refactoring, Projects, Better Usages, Better Django support...

BTW: There are a lot of features on Jedi's roadmap this year anyway (among them typeshed).

~ Dave

@brettcannon
Copy link
Member

There are basically two reasons we are working on bringing the analysis engine from the Python workload in Visual Studio over to VS Code:

  1. Consolidation to a single analysis engine (as you accurately guessed): since Visual Studio also needs an analysis engine we had to make a decision between Visual Studio or Jedi, and it's easier for us to change than it is for Visual Studio to switch to Jedi
  2. Doing more than completions/IntelliSense: we want this new language server to do more than just IntelliSense to remove other third-party dependencies while also benefiting Visual Studio

IOW this has nothing to do with the job you have done with Jedi or its feature set -- now or in the future -- and everything to do with us and our specific needs.

@davidhalter
Copy link

Thanks for your answer. This is of course an understandable decision - even if it is a bit disappointing for me :)

Doing more than completions/IntelliSense: we want this new language server to do more than just IntelliSense to remove other third-party dependencies while also benefiting Visual Studio

If you're looking for a bigger feature set within Jedi, please also let me know. I can obviously not help you with your first point, but there are quite a few features planned that are not just InteliSense, like refactoring or auto-imports. It's just a question of what to prioritize.

@sbstp
Copy link

sbstp commented Jul 21, 2018

Does the PTVS work on Mac and Linux without having to install Mono? If not, it would be nice if the jedi provider was still maintained.

@brettcannon
Copy link
Member

@sbstp we assume the user has no .NET runtime installed (even on Windows).

@brettcannon
Copy link
Member

@davidhalter I emailed you privately about that (and I'm always happy to share what feedback we're getting to help you prioritize your work).

@MikhailArkhipov
Copy link
Author

Closing this one as we are tracking issues directly

@lock lock bot locked as resolved and limited conversation to collaborators Sep 20, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. area-linting feature-request Request for new features or functionality meta Issue that is tracking an overall project
Projects
None yet
Development

No branches or pull requests

5 participants