【发布时间】:2021-12-16 07:30:31
【问题描述】:
鉴于我使用 SymbolFactory.CreateProperty 创建了一个符号,我将如何添加空格。目前,在写出文档时,我将可访问性、修饰符、名称、类型等全部串在一起。也许我写错了,或者我需要添加额外的步骤来添加空格?我使用 document.GetText() 将其写入控制台。
【问题讨论】:
标签: roslyn
鉴于我使用 SymbolFactory.CreateProperty 创建了一个符号,我将如何添加空格。目前,在写出文档时,我将可访问性、修饰符、名称、类型等全部串在一起。也许我写错了,或者我需要添加额外的步骤来添加空格?我使用 document.GetText() 将其写入控制台。
【问题讨论】:
标签: roslyn
不,这就是您所期望的。生成的节点没有空格,目的是在完成后处理它。
有两种选择:
Microsoft.CodeAnalysis.Formatting(Microsoft.CodeAnalysis.Workspaces.Common package 的一部分)调用 Formatter.Format()。这是一个花哨的格式化程序,它将尝试保留现有的空白等,并且只会更新需要修复的节点。如果您正在更新用户代码并且不想踩到它,这是最好的选择。【讨论】:
我有同样的问题,我发现这个效果最好:
node.WithTrailingTrivia(SyntaxFactory.Space)
其中节点是任何类型的SyntaxToken。
【讨论】: