Join IEnumerable defaults with separator instead of space

Ouverte Adaptée aux débutants
#951 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
csharp
Domaine
cli

Piste de recherche

Commencez dans src/CommandLine/Text/HelpText.cs vers la ligne 1125, où les valeurs IEnumerable par défaut sont formatées pour la sortie d'aide. Suivez la manière dont le séparateur configuré de l'option est disponible pendant le formatage, puis vérifiez que la sortie --help de l'exemple utilise des virgules entre AAA, BBB et CCC afin que la valeur par défaut affichée puisse être copiée comme argument.

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

Description

Source:

#:package CommandLineParser@2.9.1

using CommandLine;

return Parser.Default.ParseArguments<Opts>(args).MapResult(
	(Opts opts) => 0,
	errors => 2
);

class Opts {
    [Option("opt", Required = true, Separator = ',', Default = new[] { "AAA", "BBB", "CCC" }, HelpText = "boolean arg.")]
    public IEnumerable<string> MyOption { get; set; }
}

Output with --help:

test_cmdline 1.0.0
Copyright (C) 2026 test_cmdline

  --opt        Required. (Default: AAA BBB CCC) boolean arg.

  --help       Display this help screen.

  --version    Display version information.

Notice that the default argument's values are joined by spaces, which is misleading.
Since a separator is provided it should be used instead, so that the user could just copy-paste the resulting value directly and use it as argument. Currently there is no way to achieve this: see here.

Langage dominant
C#
Étoiles
4.8k
Forks
478
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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.

Autres issues de commandlineparser/commandline

Toutes les issues de commandlineparser/commandline

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

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