Enhance cmsis.json settings management, schema and docs - #511
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
347e15b to
ebc8244
Compare
|
Coverage Impact ⬆️ Merging this pull request will increase total coverage on Modified Files with Diff Coverage (3)
🛟 Help
|
8c6651e to
7257a68
Compare
7257a68 to
0de5811
Compare
cmsis.json active solution/target selection persistencecmsis.json settings management, schema and docs
There was a problem hiding this comment.
🟡 Changes recommended
The manage-solution save path can still overwrite an invalid-but-existing cmsis.json after a failed read, which risks clobbering user content.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 11/12 changed files
- Comments generated: 1
- Review effort level: Lite
0de5811 to
2f0f558
Compare
|
slightly inconsistent with the usage output from cbuild and csolution: Maybe we should review also the documentation to only use the term consider updating the list command: to use |

Fixes
solution,target-typeandtarget-setto.vscode/cmsis.json#500Changes
.vscode/cmsis.jsonafter successfully loading or saving a solution.activeSolution: full path to the active csolution file, relative tocmsis.json.activeTarget: effective target intarget-typeortarget-type@target-setform.targetSetas the extension’s existing internal selection representation.cmsis.jsonwhen it cannot be parsed and keepcmsis.jsonsave failures detectable.cmsis.json.targetSetrepresentation.Example generated settings:
{ "activeSolution": "../solutions/MySolution.csolution.yml", "activeTarget": "MyBoard@debug", "targetSet": { "solutions/MySolution": { "activeTargetType": "MyBoard", "MyBoard": 0 } } }This allows consumers to derive the active build command:
Out of Scope
This PR does not change how solution, target-type, or target-set selections are authoritatively persisted or restored. In particular:
activeSolutionandactiveTargetare informational mirrors only.targetSetstructure.Checklist
Extension-owned file format documentation
This PR adds companion documentation for extension-owned file formats:
schemas/README.mdprovides an index linking each format to its human-readable documentation and machine-readable schema.schemas/cmsis-settings.mddocuments.vscode/cmsis.json, including file ownership, informational active solution and target fields, the existingtargetSetpersistence format, path conventions, compatibility, and known limitations.schemas/tools-environment.mddocuments the generated.cmsis/tools-environment.ymlformat, including its lifecycle, resolved environment and tool metadata, tool-selection rules, and security considerations.