如何用roslyn删除我的c#解决方案中源代码的所有注释?

时间:2015-11-22 02:01:13

标签: c# roslyn

我想在Roslyn的C#解决方案中删除源代码中的所有注释。 但我该怎么做?

public void DeleteComment()
{
        var code = File.ReadAllText("code.cs");
        SyntaxTree tree = SyntaxFactory.ParseSyntaxTree(code);
        ///Delete Comments ?

}

1 个答案:

答案 0 :(得分:7)

只是@SLaks回答的一些扩展。您需要扩展CSharpSyntaxRewriter并覆盖VisitTrivia方法。在这里你需要检查琐事的Kind。根据您的需要,您应该过滤单行和多行注释:

trivia.IsKind(SyntaxKind.SingleLineCommentTrivia) || trivia.IsKind(SyntaxKind.MultiLineCommentTrivia)

并返回default(SyntaxTrivia)将其从树中删除。