diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin
index 60dc96dc2f..f2e4adf86b 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin
@@ -119,7 +119,6 @@
label = "${res:Dialog.ProjectOptions.Publish}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.Publish"/>-->
-
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs
index e4cd23433a..d6d3b2862e 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsPersistence.cs
@@ -132,12 +132,10 @@ namespace CSharpBinding.FormattingStrategy
/// Initial (empty) instance of formatting options container.
public CSharpFormattingOptionsPersistence(Properties propertiesContainer, CSharpFormattingOptionsContainer initialContainer)
{
- if (propertiesContainer == null)
- throw new ArgumentNullException("propertiesContainer");
if (initialContainer == null)
throw new ArgumentNullException("initialContainer");
- this.propertiesContainer = propertiesContainer;
+ this.propertiesContainer = propertiesContainer ?? new Properties();
optionsContainer = initialContainer;
}
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs
index 8872fb587e..e3ec4d4304 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs
@@ -31,6 +31,7 @@ using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Parser;
+using ICSharpCode.SharpDevelop.Project;
namespace CSharpBinding.FormattingStrategy
{
@@ -73,8 +74,12 @@ namespace CSharpBinding.FormattingStrategy
static CacheIndentEngine CreateIndentEngine(IDocument document, TextEditorOptions options)
{
- // TODO Use project-specific formatter settings. But how to get a project from here?
- var formattingOptions = CSharpFormattingOptionsPersistence.GlobalOptions;
+ IProject currentProject = null;
+ var projectService = SD.GetService();
+ if (projectService != null) {
+ currentProject = projectService.FindProjectContainingFile(new FileName(document.FileName));
+ }
+ var formattingOptions = CSharpFormattingOptionsPersistence.GetProjectOptions(currentProject);
var engine = new CSharpIndentEngine(document, options, formattingOptions.OptionsContainer.GetEffectiveOptions());
return new CacheIndentEngine(engine);
}