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
VSCodium is a pure open-source version of VSCode (think Chromium vs Google Chrome), and is the default version in some Linux distros' repositories (Arch-based for me). When switching to the mainline Microsoft VSCode, this Issue is not present.
After a recent update, I cannot get our extension to see dvc as available even though it can be run in the integrated terminal when automatically activated by the python extension.
I've managed to track this down to the ready promise within the ms-python.python throwing due to the following error:
stack trace: Error: Extension 'ms-python.python' CANNOT use API proposal: testObserver.
Its package.json#enabledApiProposals-property declares: but NOT testObserver.
The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ms-python.python
at E (/usr/lib/code/out/vs/workbench/services/extensions/node/extensionHostProcess.js:91:64217)
at Object.get testResults [as testResults] (/usr/lib/code/out/vs/workbench/services/extensions/node/extensionHostProcess.js:107:33481)
at w.activate (/home/roger/.vscode-oss/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:85:74805)
at /home/roger/.vscode-oss/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:67:87919
at Array.map (<anonymous>)
at f.activateWorkspace (/home/roger/.vscode-oss/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:67:87910)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
If our await extension.ready call is either removed or wrapped in a try/catch block such that a rejection does not cancel the process of collection execution details, the extension again works in VSCodium. I don't know the ramifications of either of these.
As far as I can tell, there are two possible solutions to this problem:
Implement the fix of wrapping ready in try/catch so our extension tries to get execution details even if ready rejects.
Do not implement any fix and mention in the README that the Python extension integration is broken in VSCodium.
While I personally lean toward 1 or a derivative of it (maybe logging the error while continuing) because it fixes an issue that will seemingly become a problem for many Linux users and any other VSCodium users with little drawbacks, I understand if we decide as a group to lean toward 2 because it looks like a more proper way to use the Python extension's API.
With that said, I do think we should either implement a fix or document the incompatibility so at least VSCodium users who do their due diligence by reading the README aren't lost.
Curious to see what everyone else (@iterative/vs-code) thinks, I'm happy to do the implementation of either fix once we decide on one.
The text was updated successfully, but these errors were encountered:
Closing since this is more of a niche issue than I originally thought, as the Python extension is severely crippled on VSCodium by not having PyLance and we already have features to work around it in workspace setup.
If this ever comes up for a user, they can find this Issue when searching "VSCodium".
VSCodium is a pure open-source version of VSCode (think Chromium vs Google Chrome), and is the default version in some Linux distros' repositories (Arch-based for me). When switching to the mainline Microsoft VSCode, this Issue is not present.
After a recent update, I cannot get our extension to see
dvc
as available even though it can be run in the integrated terminal when automatically activated by the python extension.I've managed to track this down to the
ready
promise within thems-python.python
throwing due to the following error:If our
await extension.ready
call is either removed or wrapped in atry/catch
block such that a rejection does not cancel the process of collection execution details, the extension again works in VSCodium. I don't know the ramifications of either of these.As far as I can tell, there are two possible solutions to this problem:
ready
intry/catch
so our extension tries to get execution details even ifready
rejects.While I personally lean toward 1 or a derivative of it (maybe logging the error while continuing) because it fixes an issue that will seemingly become a problem for many Linux users and any other VSCodium users with little drawbacks, I understand if we decide as a group to lean toward 2 because it looks like a more proper way to use the Python extension's API.
With that said, I do think we should either implement a fix or document the incompatibility so at least VSCodium users who do their due diligence by reading the README aren't lost.
Curious to see what everyone else (@iterative/vs-code) thinks, I'm happy to do the implementation of either fix once we decide on one.
The text was updated successfully, but these errors were encountered: