如何用roslyn删除我的c#解决方案中的所有源代码注释?
我想在我的C#解决方案中使用Roslyn删除源代码中的所有注释。 但我该怎么做?
public void DeleteComment() { var code = File.ReadAllText("code.cs"); SyntaxTree tree = SyntaxFactory.ParseSyntaxTree(code); ///Delete Comments ? }
只是@SLaks回答的一些扩展。 您需要扩展CSharpSyntaxRewriter
并覆盖VisitTrivia
方法。 在这里,你需要检查琐事的Kind
。 根据您的需要,您应该过滤单行和多行注释:
trivia.IsKind(SyntaxKind.SingleLineCommentTrivia) || trivia.IsKind(SyntaxKind.MultiLineCommentTrivia)
并返回default(SyntaxTrivia)
以从树中删除它们。