microsoft / microsoft/vscode-cpptools
Improve custom configuration variables
Open
Nobody has claimed this yet.
Feature Request
Feature: Configuration
help wanted
Language Service
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
@sean-mcmanus I think my comment is already a suggestion to make it better:
- Allow
customConfigurationVariablesto have property values which are arrays of strings; - Add a new class of VS Code variables which can be used in
tasks.jsonandlaunch.json. These variables can be used in substitutions with a syntax like${cpptools:<Variablename>}. This is similar to the syntax for environment variables, configuration variables, and command variables. These substitutions should also be allowed as part of an array of strings similar to the example forenvvariablles inc_cpp_properties.jsonfiles. So in arrays of strings the variable can not only represent a string but also an array of strings similar to the following lines in the mentioned example:
"env": { "myDefaultIncludePath": ["${workspaceFolder}", "${workspaceFolder}/include"] },
"includePath": ["${myDefaultIncludePath}", "/another/path"]
which is substituted to
"includePath": ["${workspaceFolder}", "${workspaceFolder}/include", "/another/path"]
Originally posted by @PetaSoft in https://github.com/microsoft/vscode-cpptools/pull/5453#issuecomment-696612225
Contributor guide
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 by reading the linked VS Code variables reference and the c_cpp_properties.json schema example, focusing on tasks.json, launch.json, and customConfigurationVariables. Done means array-valued custom variables work and cpptools substitutions expand correctly as strings or arrays in the requested configuration fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100