microsoft / microsoft/vscode-cpptools

Add support for specifying separate C and C++ compiler paths and args

Aperta
#9,266 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

configuration revision Feature Request Feature: Configuration Language Service
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Feature Request

Currently, we have compilerPath and compilerArgs fields in c_cpp_properties.json. Arguments (i.e. -std=c++20 vs -std=c17), and perhaps even the compiler itself (i.e. XC16), can be C or C++ specific. These field may be insufficient for users who want to mix C and C++ sources. The same issue exists for fields in custom configuration provider interfaces.

This feature request tracks separating compilerPath and compilerArgs into C and C++, so separate values for each can be provided. One backwards compatible approach would be to allow the existing fields to be overloaded with an object containing a separate value per language. For example:

"compilerPath": {
    "c": "/usr/bin/gcc",
    "cpp": "/usr/bin/g++"
},
"compilerArgs": {
    "c": [ "-std=c17" ],
    "cpp": [ "-std=c++20" ]
}

Related: https://github.com/microsoft/vscode-cpptools/issues/7534

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dai campi di c_cpp_properties.json e dalle interfacce dei provider di configurazione personalizzati descritte nell’issue. Determina come rappresentare percorsi e argomenti distinti dei compilatori per C e C++ mantenendo i campi esistenti; il lavoro è completato quando le sorgenti C e C++ possono ricevere valori distinti mantenendo la compatibilità con le versioni precedenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, cpp, typescript
Ambito
developer-experience, tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.