-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Replace 'python.jediEnabled' setting with 'python.languageServer' setting #7010
Comments
…guageServer' setting, supporting 'jedi', 'microsoft', or 'none' values.
#7011) * #7010: Replaced 'python.enableJedi' setting with 'python.languageServer' setting, supporting 'jedi', 'microsoft', or 'none' values. * Fixed lint error. * Fixed regression that broke smoke tests and performance tests. * Code review changes: * Fixed existing spelling of "langauge" to "language" * Added test cases for replacement of enableJedi setting * Fixed existing replacement regular expressions which included unescaped periods
validated |
We have an issue with the last PR. It breaks Intellicode. We would need to change the code in Intellicode to look for the new setting and fall back to the old setting (we could base this on version too but that seems more brittle). The existing code that broke is here: |
For merging #7010. Work item for spike #8418. The existing code that broke due to replacing We need to make sure all these 4 cases work:
Proposed changesIntellicode In the old version, we only check
If new version of intellicode is being used, the above proposed changes work fine for cases 2 & 3. Python extension The issue with case 4 is that old versions of IntelliCode shows a prompt asking to set But the new version of the extension works only with the Solution:
Alternate solution:
Note: Also to reduce number cases like 4, where we need to show the prompt, we can release the fix with intellicode first, so most users no longer use the old version of intellicode. Then after a while we can release the insiders fix in the extension. |
I don't know the status of this, but for me having analysis on is a terrible working experience (the pc is terribly sluggish, I've already reported several issues on the LS issue tracker during the last few months but things have largely stayed this way). I still want the benefit of having formatting, so I don't want to disable the entire extension. Can there be a flag to disable analysis altogether or I'm in an all or nothing scenario atm? |
For now, you can simply use jedi, i.e set |
That is also slow from time to time... |
If you want to turn the entire intellisense off, you can do it as soon as this issue is addressed. Until then there is no alternative but to use Jedi if you do not want any analysis. |
Work items after the discussion:
|
@karrtikr, sounds like there's an agreed-upon plan. Do you have an ETA for when this will be published? I continue to get a stream of complaints/requests from pyright users about this, and I'd like to be able to give them a timeline for a fix. |
@brettcannon @luabud Could you help with a timeline? |
@erictraut No timeline other than we hope early in the next quarter (although it's also dependent on IntelliCode making a release which isn't under our control). |
Per offline discussion, taking over it. |
The Python extension currently supports the boolean setting "python.enableJedi". It's true, the Jedi language server is used. If it's false, the Microsoft Python Language Server is used.
This change would replace the "python.enableJedi" setting with "python.languageServer", a string-based setting that initially supports three values: 'jedi', 'microsoft', and 'none'. The first two values map to the old binary settings. The third value results in no language server being loaded. This allows users to install other language servers like pyright without double analysis overhead and duplicate references, type completion suggestions, etc.
All other behaviors (including default behaviors) would remain the same.
Previous versions of the "python.enableJedi" setting should be migrated automatically.
The text was updated successfully, but these errors were encountered: