microsoft / microsoft/vscode-java-debug

Allow 3rd-party extensions to contribute in-memory launch config

Offen
#1,387 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

ai-triaged enhancement
Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
19

Beschreibung

Currently, vscode-java-debug searches the .vscode/launch.json file for a launch config matching the classname+project name.

https://github.com/microsoft/vscode-java-debug/blob/415ae57296c10e9ffd2204ab66e22cb9d929259c/src/extension.ts#L450-L459

If none is found, a default config is built in memory:

https://github.com/microsoft/vscode-java-debug/blob/415ae57296c10e9ffd2204ab66e22cb9d929259c/src/extension.ts#L427-L433

I'd like the JBang extension to provide a custom in-memory config, where we can dynamically set the add-opens args for instance, to be able to keep in synch' with the JBang directives in the java file, rather than having to create/update .vscode/launch.json at some point.

Would be nice if vscode-java-debug allowed 3rd-party extension to contribue launch config participants, that, if they match, would then provide a custom in-memory config, if none was found on disk.

See the video at the 4'37" mark and https://twitter.com/fbricon/status/1698735665259626996 for context

cc @maxandersen

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

Beginne mit der Suche nach der launch-config und der Erstellung des Fallbacks in src/extension.ts in den Zeilen 427-433 und 450-459. Verfolge, wie die standardmäßige In-Memory-Konfiguration ausgewählt wird, und ermittle anschließend, wie ein Teilnehmer eines Drittanbieters wie JBang eine passende Konfiguration bereitstellen könnte. Als erledigt gilt die Aufgabe, wenn eine Extension eine benutzerdefinierte In-Memory-Konfiguration bereitstellen kann, sobald keine passende Konfiguration auf der Festplatte existiert, einschließlich dynamisch abgeleiteter add-opens-Argumente.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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