microsoft / microsoft/vscode-cpptools

IntelliSense fails to find headers using cl.exe #include "" Microsoft-specific search rules (i.e. -Wmicrosoft-include)

Aperta
#8,296 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@sean-mcmanus ci sta già lavorando.

Dal 18/12/2024.

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

Descrizione

Disable recursive includes and use msvc or clang mode.

  • root
    • sub1 (folder)
      • sub1_2.h
      • sub1.h
    • sub2 (folder)
      • sub2.h
    • main.cpp

main.cpp
#include "sub1/sub1.h"

sub1.h
#include "sub2/sub2.h"

sub2.h
#include "sub1_2.h"

Bug: This compiles with cl.exe (and clang, although it gives the warning from -Wmicrosoft-include), but IntelliSense fails to find the headers. See documentation at https://docs.microsoft.com/en-us/cpp/preprocessor/hash-include-directive-c-cpp?view=msvc-160 . The code isn't compilable with gcc, so it's non-portable, i.e. not recommended for new code, but legacy code might rely on the behavior.

I haven't checked if this repros with VS, and I'm not sure if it's a bug with our shared parser or if we're expected to emulate the search order ourselves.

I found this issue while investigating how to correctly deal with the clang-tidy include processing.

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.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.