加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Roslyn SDK预览中的代码格式

发布时间:2020-12-15 06:24:55 所属栏目:百科 来源:网络整理
导读:在早期版本(Roslyn CTP)中,我正在使用以下代码来格式化我生成的代码,并且它工作正常: SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot() 使用新的Roslyn版本,它不再是这样,所以新版本(SDK Preview)中的上述代码是等同的? 解决
在早期版本(Roslyn CTP)中,我正在使用以下代码来格式化我生成的代码,并且它工作正常:
SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot()

使用新的Roslyn版本,它不再是这样,所以新版本(SDK Preview)中的上述代码是等同的?

解决方法

您可以使用这样的Microsoft.CodeAnalysis.Formatting.Formatter格式化语法节点(如果您有一个工作区):
using Microsoft.CodeAnalysis.Formatting;

var formattedResult = Formatter.Format(syntaxNode,workspace);

编辑:Jeroen在评论中写道,如果没有工作区,并且不需要工作区特定的格式设置,可以创建一个:

var workspace = MSBuildWorkspace.Create();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读