We are going to edit cursors settings to point to the microsoft extensions marketplace.
- Remove all extensions and exit Cursor.
- Locate your Cursor
project.json
file depending on your platform and open it.- On MacOS:
/Applications/Cursor.app/Contents/Resources/app/product.json
- On Windows:
C:\Users\<user_name>\AppData\Local\Programs\cursor\resources\app\product.json
- On Linux:
/usr/lib/code/product.json
- On MacOS:
- Locate the object value for key
extensionsGallery
in the json document.
{
"galleryId": "cursor",
"serviceUrl": "https://marketplace.cursorapi.com/_apis/public/gallery",
"itemUrl": "https://marketplace.cursorapi.com/items",
"resourceUrlTemplate": "https://marketplace.cursorapi.com/{publisher}/{name}/{version}/{path}",
"controlUrl": "",
"recommendationsUrl": "",
"nlsBaseUrl": "",
"publisherUrl": ""
}
- Edit it to look like this:
{
"galleryId": "cursor",
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"itemUrl": "https://marketplace.visualstudio.com/items",
"resourceUrlTemplate": "https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",
"controlUrl": "",
"recommendationsUrl": "",
"nlsBaseUrl": "",
"publisherUrl": ""
}
- Reopen Cursor.app and install the following extensions:
ms-python.python
ms-python.vscode-pylance
ms-python.debugpy
- Make sure in your settings that
python.languageServer
is set to "Pylance"
Enjoy!
PS: you may need to goto your settings.json to remove any theme settings, because having a broken theme looks exactly like this same problem. In my case cursor had copied over my settings from vscode and they pointed to a theme that wasn't yet installed in cursor, removing and then setting the theme manually worked when I though for sure I had broken it again.
I too was disappointed that the Python language server shipped with Cursor does not support the unit test coverage UI.
However, I was able to get the current versions of Python extensions (Python, Python Debugger, and Pylance) to work in Cursor.
The workaround I’m using is as follows:
Here is a script I wrote to automate the package.json patching on macOS:
https://gist.github.com/realdimas/e58723564cfada8efd93adab6efb747c
It also re-signs the app’s code signature and removes the quarantine attribute (for convenience).
Note that updating the Cursor app will reset the version of the Python extensions, so you’ll need to reapply these changes (including the extension drag-and-drop).
I found it helpful to disable Cursor auto-updates (see instructions here: https://forum.cursor.com/t/how-do-i-prevent-automatic-updating/59637/10) and update Cursor manually instead.