Header file with duplicate name but unique directory not identified by intellisense
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- cpp, vscode
- Bereich
- developer-experience, devtools
Rechercherichtung
Reproduzieren Sie das gemeldete Layout mit duplizierten Dateien namens Resources/common.h in separaten Projekten und untersuchen Sie anschließend die IntelliSense-Diagnosen und Debug-Protokolle, während Sie ProjectA/SourceA.cpp mit ProjectB/SourceB.cpp vergleichen. Verfolgen Sie, wie die Erweiterung Header identifiziert und indiziert, wenn go-to-definition erfolgreich ist, Bezeichner jedoch weiterhin nicht aufgelöst werden. Als erledigt gilt die Aufgabe, wenn beide projektspezifischen Header indiziert sind und Verweise ohne rote Wellenlinien aufgelöst werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug Summary
I am using VSCode to work on source files from a large Visual Studio solution with many projects. Each project has its its own directory with various source files, and a subfolder for resource headers.
Solution/
├─ ProjectA/
│ ├─ Resources/
│ │ ├─ common.h
│ ├─ SourceA.cpp
├─ ProjectB/
│ ├─ Resources/
│ │ ├─ common.h
│ ├─ SourceB.cpp
ProjectA/Resources/common.h will only ever be referenced by source files within the ProjectA directory.
The issue with this is each of these resource headers has the same filename, so the intellisense database will only process the first one it finds. This is usually the first project folder alphabetically.
When running intellisense, on the above example, references to ProjectA/Resources/common.h by ProjectA/SourceA.cpp are resolved.
References to ProjectB/Resources/common.h by ProjectB/SourceB.cpp are not resolved and result in red squiggles with "identifier XYZ is undefined"
However when I click on the identifier in Source.B and select "go to definition" the extension correctly opens ProjectB/Resources/common.h and jumps to the selected identifier.
Configuration and Logs
This behavior is found in the default configurations. I have not been able to find a change to the configuration that alters this behavior.
Debug log diagnostics do not display anything unusual or useful.
Environment
- OS and Version: Win 11 25H2
- VS Code Version: 1.125.1 (issue identified on earlier versions)
- C/C++ Extension Version: 1.33.0 (issue identified on earlier versions)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 6.2k
- Forks
- 1.7k
- Ø Merge
- 14 Std. 46 Min.
- Gemergte PRs (30 T.)
- 61
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/vscode-cpptools
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
microsoft/vscode-cpptools#14787 ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries Offenbug fixed Language Service regression
microsoft/vscode-cpptools#14779 · 1 zugewiesene Person ·
-
Language Service more info needed
microsoft/vscode-cpptools#14778 · 1 Kommentar · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 64/100
microsoft/vscode-cpptools#14769 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
microsoft/vscode-cpptools#14768 · 1 Kommentar ·
Alle Issues in microsoft/vscode-cpptools
Ähnliche Issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
-
code-quality refactoring
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
langchain-ai/deepagents#6450 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
vercel/react-tweet#225 ·