Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
 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;
		}
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
        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;
			}
		}
Ejemplo n.º 8
0
 public override void Execute(object parameter)
 {
     // Initialize CSharpFormattingOptionsPersistence as early as possible (before solution is opened)
     CSharpFormattingOptionsPersistence.Initialize();
 }
Ejemplo n.º 9
0
 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;
		}
		static void SolutionClosed(object sender, SolutionEventArgs e)
		{
			SolutionOptions = null;
			projectOptions.Clear();
		}
		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}")
				});
		}