Bonjour,
Depuis quelques jours, je fais mes premiers essais avec Roslyn.
Je travail plutôt sur la "correction syntaxique" du code (CodeIssue)
Jusqu'à maintenant, j'ai créer des règles basique comme par ex. si on écrit une variable:
int variable;
Visual Studio averti utilisateur qu'il faut écrire (ce sont des règles imposées là ou je travail):
int iVariable;
Maintenant, je cherche une façon de changer les commentaires "SingleLine" (comme ça: //Commentaire) en commentaires "MultiLine" (/*MultiLineComment*/)
Par contre, impossible de faire comprendre à Roslyn que j'aimerais récupérer tous les commentaires "SingleLine".
Voici mon code:
Mon souci: le: CommentDeclarations est toujours null. Jamais Roslyn ne trouve de SingleLineCommentTrivia.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public IEnumerable<CodeIssue> GetIssues(IDocument document, CommonSyntaxNode node, CancellationToken cancellationToken) { try { var semanticModel = document.GetSemanticModel(cancellationToken); var CommentDeclarations = (IEnumerable<CommonSyntaxNode>)node.ChildNodes().Where(n => n.Kind == (int)SyntaxKind.SingleLineCommentTrivia); if(CommentDeclarations != null) { foreach (DocumentationCommentTriviaSyntax comments in CommentDeclarations) { //Ici le code appelera une fonction qui me refactorisera mon code (avec un yield return new CodeIssue(); } } } }
Une explication?
Si ne je suis pas assez clair, fait le moi savoir!
Bon week-end
Holaf
Partager