public static void Initialize() { if (initialized) { return; } initialized = true; projectOptions = new Dictionary <string, CSharpFormattingOptionsPersistence>(); // Load global settings GlobalOptions = new CSharpFormattingOptionsPersistence( SD.PropertyService.MainPropertiesContainer, new CSharpFormattingOptionsContainer() { DefaultText = StringParser.Parse("${res:CSharpBinding.Formatting.GlobalOptionReference}") }); GlobalOptions.Load(); // Handlers for solution loading/unloading var projectService = SD.GetService <IProjectService>(); if (projectService != null) { SD.ProjectService.SolutionOpened += SolutionOpened; SD.ProjectService.SolutionClosed += SolutionClosed; } }
static void SolutionOpened(object sender, SolutionEventArgs e) { // Load solution settings SolutionOptions = new CSharpFormattingOptionsPersistence( e.Solution.GlobalPreferences, new CSharpFormattingOptionsContainer(GlobalOptions.OptionsContainer) { DefaultText = StringParser.Parse("${res:CSharpBinding.Formatting.SolutionOptionReference}") }); }
public CSharpFormattingOptionPanel(CSharpFormattingOptionsPersistence persistenceHelper, bool allowPresets) { if (persistenceHelper == null) throw new ArgumentNullException("persistenceHelper"); this.persistenceHelper = persistenceHelper; InitializeComponent(); formattingEditor.AllowPresets = allowPresets; }
protected override void Load(ICSharpCode.SharpDevelop.Project.MSBuildBasedProject project, string configuration, string platform) { base.Load(project, configuration, platform); if (persistenceHelper != null) { persistenceHelper.OptionsContainer.PropertyChanged -= ContainerPropertyChanged; } persistenceHelper = CSharpFormattingOptionsPersistence.GetProjectOptions(project); formattingEditor.OptionsContainer = persistenceHelper.OptionsContainer; formattingEditor.AllowPresets = true; persistenceHelper.Load(); persistenceHelper.OptionsContainer.PropertyChanged += ContainerPropertyChanged; }
public override void FormatLines(ITextEditor textArea) { using (textArea.Document.OpenUndoGroup()) { // In any other case: Simply format selection or whole document var formattingOptions = CSharpFormattingOptionsPersistence.GetProjectOptions(SD.ProjectService.CurrentProject); int formattedTextOffset = 0; int formattedTextLength = textArea.Document.TextLength; if (textArea.SelectionLength != 0) { formattedTextOffset = textArea.SelectionStart; formattedTextLength = textArea.SelectionLength; } CSharpFormatterHelper.Format(textArea, formattedTextOffset, formattedTextLength, formattingOptions.OptionsContainer); } }
public static CSharpFormattingOptionsPersistence GetProjectOptions(IProject project) { var csproject = project as CSharpProject; if (csproject != null) { string key = project.FileName; if (!projectOptions.ContainsKey(key)) { // Lazily create options container for project projectOptions[key] = new CSharpFormattingOptionsPersistence( csproject.ExtensionProperties, new CSharpFormattingOptionsContainer((SolutionOptions ?? GlobalOptions).OptionsContainer) { DefaultText = StringParser.Parse("${res:CSharpBinding.Formatting.ProjectOptionReference}") }); } return(projectOptions[key]); } return(SolutionOptions ?? GlobalOptions); }
public static void Initialize() { if (initialized) return; initialized = true; projectOptions = new Dictionary<string, CSharpFormattingOptionsPersistence>(); // Load global settings GlobalOptions = new CSharpFormattingOptionsPersistence( SD.PropertyService.MainPropertiesContainer, new CSharpFormattingOptionsContainer() { DefaultText = StringParser.Parse("${res:CSharpBinding.Formatting.GlobalOptionReference}") }); GlobalOptions.Load(); // Handlers for solution loading/unloading var projectService = SD.GetService<IProjectService>(); if (projectService != null) { SD.ProjectService.SolutionOpened += SolutionOpened; SD.ProjectService.SolutionClosed += SolutionClosed; } }
public override void Execute(object parameter) { // Initialize CSharpFormattingOptionsPersistence as early as possible (before solution is opened) CSharpFormattingOptionsPersistence.Initialize(); }
static void SolutionClosed(object sender, SolutionEventArgs e) { SolutionOptions = null; projectOptions.Clear(); }
public static CSharpFormattingOptionsPersistence GetProjectOptions(IProject project) { var csproject = project as CSharpProject; if (csproject != null) { string key = project.FileName; if (!projectOptions.ContainsKey(key)) { // Lazily create options container for project projectOptions[key] = new CSharpFormattingOptionsPersistence( csproject.GlobalPreferences, new CSharpFormattingOptionsContainer((SolutionOptions ?? GlobalOptions).OptionsContainer) { DefaultText = StringParser.Parse("${res:CSharpBinding.Formatting.ProjectOptionReference}") }); } return projectOptions[key]; } return SolutionOptions ?? GlobalOptions; }