microsoft / microsoft/vscode-cpptools-api
Allow pointing `SourceFileConfigurationItem` to a compile_commands.json file.
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 33
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
Feature Request
When implementing a CustomConfigurationProvider for intellisense, it would be good to be able to construct a SourceFileConfigurationItem from an existing compile_commands.json.
At Arm we're developing an extension where different files in a project could belong to different build "contexts" e.g. for a different target or compiler toolchain, so we need to be able to set different intellisense configurations depending on which file is being viewed.
Currently I am trying to parse out the command portion of the compile_commands.json to get the compiler args/fragments, and building up the compilerFragments list, but it would be so much better to point at compile_commands.json directly, similar to how it is being done in the c_cpp_properties.json config.
I hope this makes sense. If you have any alternative ideas on how to achieve this, it would be great to hear about it.
Thanks!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the SourceFileConfigurationItem and CustomConfigurationProvider APIs, then compare their current behavior with the c_cpp_properties.json handling mentioned in the issue. Define how a compile_commands.json file should provide per-file IntelliSense configurations and confirm the expected API and tests with maintainers; done means callers can point to the file without manually parsing compiler commands.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100