microsoft / microsoft/vscode-cpptools-api

Allow specific file paths in `includePath` and `browse.path` from a custom provider and `c_cpp_properties.json`

Aperta
#73 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
TypeScript
Stelle
33
Fork
20
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hello,
currently only folders can be specified in browse.path and includePath.
This leads to issues in bigger projects that contain smaller sub-projects.

project
├───common_include
│   ├───foo.h
│   └───bar.h
├───target_include
│   ├───foo.h
│   └───bar.h
└───main.c

As an example, here only common_include/foo.h and target_include/bar.h are required but as only folders can be defined via browse.path and includePath both */foo.h and */bar.h files will be parsed.

This may be solved by using compile_commands.json files however this is not possible in my case.
I know all the correct files that should be used in IntelliSense however I'm unable to define them as these

browse.path: Path is not a directory: c:\path\to\common_include\foo.h
includePath: Path is not a directory: c:\path\to\target_include\bar.h

errors are raised while entering specific files (applies to both .h and .c files).

At the same time forcedInclude allows to define specific files that should be included.

Would it be possible to allow specific files to also be defined in the other settings in the c_cpp_properties.json file and by a custom provider?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 con le impostazioni includePath e browse.path di c_cpp_properties.json, quindi esamina l'entry point del custom provider e confronta la gestione dei percorsi con forcedInclude. Il lavoro è completato quando percorsi .c e .h specifici vengono accettati da entrambe le fonti di configurazione senza errori di directory e vengono analizzati solo i file richiesti.

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

Valutazione

Stack tecnologico
c, cpp
Ambito
devtools, tooling
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.