microsoft / microsoft/vscode-cpptools

Make the file-type/extension provider authoritative for dynamic extensionless file associations (follow-up)

Offen
#14,541 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Language Service
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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.