microsoft / microsoft/vscode-cpptools-api

`WorkspaceBrowseConfiguration` should support multiple sets of compiler path/args

Open
#56 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
33
Forks
20
PR merge metrics
No merged PRs in 30d

Description

If I understand correctly, it’s not uncommon for CMake projects to consist of several subprojects that could use different relevant args or hypothetically even different compilers (i.e. target binaries vs. tools built for the host system to be used by the build).

There is also the need for C vs. C++ information, as compiler queries for either may result in different system include paths.

Processing N sets of compiler paths/args here would be similar to what cpptools does with compile_commands.json files - processes all provided compiler paths and (unique and relevant combinations of) args, to build the browse path(s). Cpptools should be able to avoid redundantly querying compilers, so it should not be critical that the configuration provider de-dupe this set.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the WorkspaceBrowseConfiguration API and reviewing how cpptools processes compile_commands.json, as described in the issue. Define and document support for multiple compiler path/argument sets, including distinct C and C++ queries; done means the API can represent these sets for subprojects without requiring redundant compiler queries.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, typescript
Domain
api, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.