Explicit Folding doesn't activate on Cursor IDE but loads successfully in VS Code
Describe the issue
The Cursor AI IDE is a VSCode compatible IDE based on version 1.99.3 with a built-in IA agent and customizations. It works the same way as VS Code with the Copilot extension installed.
Cursor uses extensions from the Open VSX Registry.
The Explicit Folding extension is throwing the error described bellow while activating in Cursor. Using the VSCode with the same extension version works fine.
If I remove the settings bellow from the User configuration file, Explicit Folding does activate normally in Cursor.
To reproduce
- Versions:
- VSCode: v1.105.1
- Cursor: v1.7.52
- Based on VSCode 1.99.3
- Explicit Folding: 0.24-2
- Language: any
- Language Provider: n/a
Code Examples
I've found the following activation logs on the Output panel for Extension Host:
On Cursor: Output Logs: Extension Host
Explicit Folding does not activate in Cursor IDE and thows the following error observed in the Extension Host log of the Outputs Pane.
...
2025-10-20 11:30:05.279 [info] ExtensionService#_doActivateExtension VisbyDev.folder-path-color, startup: false, activationEvent: 'onStartupFinished'
2025-10-20 11:30:05.280 [info] ExtensionService#_doActivateExtension zokugun.explicit-folding, startup: false, activationEvent: 'onStartupFinished'
2025-10-20 11:30:06.015 [error] Activating extension zokugun.explicit-folding failed due to an error:
2025-10-20 11:30:06.015 [error] TypeError: Cannot read properties of undefined (reading 'include')
at buildDependencies (/home/juarezr/.cursor/extensions/zokugun.explicit-folding-0.24.2-universal/lib/index.js:4924:30)
at buildRules (/home/juarezr/.cursor/extensions/zokugun.explicit-folding-0.24.2-universal/lib/index.js:4998:21)
at async setupProviders (/home/juarezr/.cursor/extensions/zokugun.explicit-folding-0.24.2-universal/lib/index.js:5050:5)
at async activate (/home/juarezr/.cursor/extensions/zokugun.explicit-folding-0.24.2-universal/lib/index.js:5168:5)
at async Efe._activate (file:///tmp/appimage_extracted_e6c17f56ffd9e81e9537dd3233061558/usr/share/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:136:16342)
at async Efe._waitForDepsThenActivate (file:///tmp/appimage_extracted_e6c17f56ffd9e81e9537dd3233061558/usr/share/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:136:16284)
at async Efe._initialize (file:///tmp/appimage_extracted_e6c17f56ffd9e81e9537dd3233061558/usr/share/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:136:15646)
2025-10-20 11:30:06.016 [info] ExtensionService#_doActivateExtension vscode.git, startup: false, activationEvent: '*'
...
On VS Code: Output Logs: Extension Host
Explicit Folding does activate normally in VSCode and works fine.
...
2025-10-20 11:31:28.815 [info] ExtensionService#_doActivateExtension vsls-contrib.gistfs, startup: false, activationEvent: 'onStartupFinished'
2025-10-20 11:31:28.905 [info] ExtensionService#_doActivateExtension zokugun.explicit-folding, startup: false, activationEvent: 'onStartupFinished'
2025-10-20 11:31:28.893 [info] ExtensionService#_doActivateExtension zhuangtongfa.material-theme, startup: false, activationEvent: 'onStartupFinished'
...
Settings
Both settings bellow doesn't work in Cursor:
{
"explicitFolding.debug": true,
"explicitFolding.rules": {
// The root explicitFolding.rules allows a list of languages as a language identifier.
// The rules will be applied to all the specified languages.
"rust,gitignore,log,Log,shellscript,dockerfile,makefile,properties,terraform": [
{
"beginRegex": "#[\\s]*(?i)(region)[\\s]+([\\w]+)",
"endRegex": "#[\\s]*(?i)(endregion)",
"foldLastLine": true
},
],
"sql": [
{
"beginRegex": "--[\\s#]*region[\\s]+([\\w]+)",
"endRegex": "--[\\s#]*endregion",
"foldLastLine": true
},
],
"gradle": [
{
"beginRegex": "[\\/]{2,}[\\s#]*region[\\s]+([\\w]+)",
"endRegex": "[\\/]{2,}[\\s#]*endregion",
"foldLastLine": true
},
]
}
}
{
"explicitFolding.debug": true,
"explicitFolding.rules": {
// The include rule allows to include the rules from another language
"hashregion_global": [
{
"beginRegex": "#[\\s]*(?i)(region)[\\s]+([\\w]+)",
"endRegex": "#[\\s]*(?i)(endregion)",
"foldLastLine": true
},
],
"sqlregion_global": [
{
"beginRegex": "--[\\s#]*region[\\s]+([\\w]+)",
"endRegex": "--[\\s#]*endregion",
"foldLastLine": true
},
],
"dashregion_global": [
{
"beginRegex": "[\\/]{2,}[\\s#]*region[\\s]+([\\w]+)",
"endRegex": "[\\/]{2,}[\\s#]*endregion",
"foldLastLine": true
},
],
// The root explicitFolding.rules allows a list of languages as a language identifier.
// The rules will be applied to all the specified languages.
"rust,gitignore,log,Log,shellscript,fish,dockerfile,makefile,properties": {
"include": "hashregion_global"
},
"gradle": {
"include": "dashregion_global"
},
"sql": {
"include": "sqlregion_global"
},
}
}
Expected behavior
Explicit Folding should activate normally in Cursor as it does in VSCode.
Screenshots
N/A.
Additional context
N/A.