diff options
author | Mike Krüger <mkrueger@novell.com> | 2010-09-14 12:02:03 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@novell.com> | 2010-09-14 12:02:03 +0400 |
commit | 2ec5bb99ebbb0769d1a63b81a976e50d31f4d544 (patch) | |
tree | 50add611a420a9647d4b6109db6404bcd6c8d92b /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates | |
parent | 015c7c187259fa6a54ecc54e0b1a5203f91caf39 (diff) |
Fixed 'Bug 538987 - Templates are not using my code formatting'.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs index fbfc339ad0..08ac6894b7 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs @@ -391,13 +391,25 @@ namespace MonoDevelop.Ide.CodeTemplates TemplateResult template = FillVariables (context); template.InsertPosition = offset; - document.Editor.Insert (offset, template.Code); + int length = document.Editor.Insert (offset, template.Code); if (template.CaretEndOffset >= 0) { document.Editor.Caret.Offset = offset + template.CaretEndOffset; } else { document.Editor.Caret.Offset= offset + template.Code.Length; } + + string mt = DesktopService.GetMimeTypeForUri (document.FileName); + var formatter = MonoDevelop.Projects.Text.TextFileService.GetFormatter (mt); + if (formatter != null) { + document.Editor.Document.BeginAtomicUndo (); + formatter.OnTheFlyFormat (document.Project != null ? document.Project.Policies : null, + document.Editor, + offset, + offset + length); + document.Editor.Document.EndAtomicUndo (); + } + return template; } |