Roslyn SDK预览中的代码格式
在早期版本(Roslyn CTP)中,我使用以下代码来格式化我生成的代码,它工作得很好:
SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot()
使用新的Roslyn版本它不再适用,那么新版本(SDK预览版)中上述代码的等价物是什么?
您可以使用Microsoft.CodeAnalysis.Formatting.Formatter
格式化SyntaxNodes
(如果您有工作区):
using Microsoft.CodeAnalysis.Formatting; var formattedResult = Formatter.Format(syntaxNode, workspace);
编辑 :正如Jeroen在评论中写道,如果您没有工作区并且不需要特定于工作区的格式设置,您只需创建一个:
var workspace = MSBuildWorkspace.Create();
自CTP以来,Roslyn发生了很大的变化。
文档现在在这里: https : //roslyn.codeplex.com/
点击https://roslyn.codeplex.com/documentation链接,点击“示例和演练”,然后打开演示解决方案“FormatSolution – 一个控制台应用程序,它可以格式化解决方案中的所有C#和VB源文件。”
不幸的是,我不认为可以快速进行格式化工作,因为您必须将代码添加到新的解决方案中。
- 将远程映像保存到隔离存储
- C#2.0,3.0和4.0中的新function列表
- 有没有办法做到这一点,在List .ForEach()语句中分配一个值?
- 为什么我不能将我的COM对象转换为它在C#中实现的接口?
- 没有无参数构造函数的类型的Activator.CreateInstance(Type)
- post-build powershell脚本
- Console.WriteLine(ArrayList)输出错误
- 无法将System.Data.Entity.Core.Objects.ObjectResult类型隐式转换为System.Data.Objects.ObjectResult
- 是否可以在除C#之外的其他.NET语言中使用async-await?