internal void Save(string path) { var settings = new XElement("Settings", new XElement("General", new XElement("PrefixFieldIdentifierWithUnderscore", PrefixFieldIdentifierWithUnderscore))); if (Analyzers.Count > 0) { settings.Add( new XElement("Analyzers", Analyzers .OrderBy(f => f.Key) .Select(f => new XElement("Analyzer", new XAttribute("Id", f.Key), new XAttribute("Value", f.Value))) )); } if (Refactorings.Any(f => !f.Value)) { settings.Add( new XElement("Refactorings", Refactorings .Where(f => !f.Value) .OrderBy(f => f.Key) .Select(f => new XElement("Refactoring", new XAttribute("Id", f.Key), new XAttribute("IsEnabled", f.Value))) )); } if (CodeFixes.Any(f => !f.Value)) { settings.Add( new XElement("CodeFixes", CodeFixes .Where(f => !f.Value) .OrderBy(f => f.Key) .Select(f => new XElement("CodeFix", new XAttribute("Id", f.Key), new XAttribute("IsEnabled", f.Value))) )); } if (RuleSets.Any()) { settings.Add( new XElement("RuleSets", RuleSets.Select(f => new XElement("RuleSet", new XAttribute("Path", f))))); } var doc = new XDocument(new XElement("Roslynator", settings)); var xmlWriterSettings = new XmlWriterSettings() { OmitXmlDeclaration = false, NewLineChars = Environment.NewLine, IndentChars = " ", Indent = true, }; using (var fileStream = new FileStream(path, FileMode.Create)) using (var streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) using (XmlWriter xmlWriter = XmlWriter.Create(streamWriter, xmlWriterSettings)) doc.WriteTo(xmlWriter); }
public override void Do() { var sym2 = Context.CodeEditor.GetQuestClassSymbol(link.Node2.Quest); var rewriter = new ComponentIsFinishedCallAdder( link.Node1.Quest, sym2, Context.Code ); snapshot = Context.CodeEditor.ApplySyntaxRewriters(rewriter); Context.Flow.Graph.AddLink(link); CodeFixes.FixQuestInitializationOrder(link.Node2.Quest, Context); }