microsoft / microsoft/vscode-cpptools
Make the file-type/extension provider authoritative for dynamic extensionless file associations (follow-up)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 6.2k
- Forks
- 1.7k
- Ø Merge
- 14 Std. 46 Min.
- Gemergte PRs (30 T.)
- 61
Beschreibung
Follow-up to an earlier change that stopped tag-parsing non-included extensionless files.
Currently, dynamically discovered extensionless file associations are handled via a separate lookup outside the main file-type resolution path. Fold these into the extension/file-type provider so that the central file-type lookup is the single source of truth, rather than relying on a pre-built known list plus a separate check.
Why: As more code is unified onto the shared path, the common code won't know about these extra extensionless files unless they're part of the standard file-type resolution call. Keeping it in one place avoids divergence.
Approach options:
- Subclass/extend the extension provider and override the lookup to augment or replace the defaults, or
- Override at the host level: call the default provider first, and if it returns "none" and the file has no extension, fall back to checking the custom list.
Note: There are two consumers to keep working — the main extension and the unit tests.
Internal task number: 3021361
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lokalisieren Sie den Provider für Erweiterungen/Dateitypen und die separate dynamische Suche nach Zuordnungen ohne Erweiterung, und verfolgen Sie anschließend deren Aufrufer in der Haupt-Erweiterung und den Unit-Tests. Vergleichen Sie die im Issue beschriebenen Ansätze auf Provider- und Host-Ebene; die Aufgabe ist erledigt, wenn die zentrale Suche diese Zuordnungen verarbeitet und beide Verbraucher weiterhin funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript, vscode
- Bereich
- tooling
- Issue-Typ
- Refactoring
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100