Browse Source

Fixed #400: Indentation engine misbehaves when editing MSBuildBasedProject.cs.

Fixed CSharpBinding tests.
pull/403/head
Andreas Weizel 11 years ago
parent
commit
d307bf8a1e
  1. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsContainer.cs
  2. 17
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsContainer.cs

@ -280,7 +280,7 @@ namespace CSharpBinding.FormattingStrategy
/// <returns>Created and filled <see cref="ICSharpCode.NRefactory.CSharp.CSharpFormattingOptions"/> instance.</returns> /// <returns>Created and filled <see cref="ICSharpCode.NRefactory.CSharp.CSharpFormattingOptions"/> instance.</returns>
private CSharpFormattingOptions CreateCachedOptions() private CSharpFormattingOptions CreateCachedOptions()
{ {
var outputOptions = FormattingOptionsFactory.CreateEmpty(); var outputOptions = FormattingOptionsFactory.CreateSharpDevelop();
// Look at all container options and try to set identically named properties of CSharpFormattingOptions // Look at all container options and try to set identically named properties of CSharpFormattingOptions
foreach (PropertyInfo propertyInfo in typeof(CSharpFormattingOptions).GetProperties()) { foreach (PropertyInfo propertyInfo in typeof(CSharpFormattingOptions).GetProperties()) {

17
src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs

@ -39,10 +39,20 @@ namespace CSharpBinding.FormattingStrategy
/// </summary> /// </summary>
internal class CSharpFormattingOptionsPersistence internal class CSharpFormattingOptionsPersistence
{ {
static bool initialized;
static Dictionary<string, CSharpFormattingOptionsPersistence> projectOptions; static Dictionary<string, CSharpFormattingOptionsPersistence> projectOptions;
static CSharpFormattingOptionsPersistence()
{
Initialize();
}
public static void Initialize() public static void Initialize()
{ {
if (initialized)
return;
initialized = true;
projectOptions = new Dictionary<string, CSharpFormattingOptionsPersistence>(); projectOptions = new Dictionary<string, CSharpFormattingOptionsPersistence>();
// Load global settings // Load global settings
@ -54,8 +64,11 @@ namespace CSharpBinding.FormattingStrategy
GlobalOptions.Load(); GlobalOptions.Load();
// Handlers for solution loading/unloading // Handlers for solution loading/unloading
SD.ProjectService.SolutionOpened += SolutionOpened; var projectService = SD.GetService<IProjectService>();
SD.ProjectService.SolutionClosed += SolutionClosed; if (projectService != null) {
SD.ProjectService.SolutionOpened += SolutionOpened;
SD.ProjectService.SolutionClosed += SolutionClosed;
}
} }
public static CSharpFormattingOptionsPersistence GlobalOptions public static CSharpFormattingOptionsPersistence GlobalOptions

Loading…
Cancel
Save