Skip to content

Add cmake.languageServerOnlyMode setting for language services without project integration#4873

Open
Omotola wants to merge 2 commits intomainfrom
dev/oakeredolu/languaservermode
Open

Add cmake.languageServerOnlyMode setting for language services without project integration#4873
Omotola wants to merge 2 commits intomainfrom
dev/oakeredolu/languaservermode

Conversation

@Omotola
Copy link
Copy Markdown
Contributor

@Omotola Omotola commented Apr 9, 2026

Summary

Adds a new cmake.languageServerOnlyMode setting that enables CMake language services (hover, completion) while disabling all project integration (kit selection, configure, build, test). This is useful for users who want CMake language support but don't have CMake installed locally.

Related Issue

Closes #4516

Changes

  • Setting: Added cmake.languageServerOnlyMode (boolean, defaults to false, machine scope)
  • Config: Updated src/config.ts with new setting, getter, and EventEmitter
  • Extension lifecycle: Early return in postWorkspaceOpen() to skip kit scanning and configure-on-open
  • Project integration: Suppressed save-triggered reconfigure, bad-executable toasts, and driver initialization when enabled
  • UI: Gates cmake:enableFullFeatureSet context key to hide build/test/kit commands and views
  • Documentation: Added setting to cmake-settings.md and CHANGELOG

Testing

Tested Locally, confirmed that with the new setting on and a fake cmake path, there's no auto-configure when saving cmakefiles, and during manual configure output shows a message indicating language server only mode is enabled.
image

Notes

  • The language services implementation was already fully decoupled from the CMake executable, so no changes to language service code were needed
  • The setting requires manual user configuration; it does not auto-detect missing CMake

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Language Server Only Mode

1 participant