microsoft / microsoft/vscode-java-debug

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

Ouverte
#1,387 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

ai-triaged enhancement
Langage dominant
TypeScript
Étoiles
591
Forks
429
Merge moyen
1 j 9 h
PR mergées (30 j)
19

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la recherche de launch-config et la construction du fallback dans src/extension.ts, aux lignes 427-433 et 450-459. Suivez la manière dont la configuration par défaut en mémoire est sélectionnée, puis déterminez comment un participant tiers tel que JBang pourrait fournir une configuration correspondante. Le travail est terminé lorsqu’une extension peut fournir une configuration personnalisée en mémoire lorsqu’aucune correspondance sur disque n’existe, y compris des arguments add-opens dérivés dynamiquement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript, vscode
Domaine
developer-experience, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.