diff --git a/CodeMaidShared/Logic/Cleaning/FileHeaderLogic.cs b/CodeMaidShared/Logic/Cleaning/FileHeaderLogic.cs
index c9d19992..7af10031 100644
--- a/CodeMaidShared/Logic/Cleaning/FileHeaderLogic.cs
+++ b/CodeMaidShared/Logic/Cleaning/FileHeaderLogic.cs
@@ -93,20 +93,23 @@ private int GetHeaderLength(TextDocument textDocument, bool skipUsings)
private string GetCurrentHeader(TextDocument textDocument, bool skipUsings)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var currentHeaderLength = GetHeaderLength(textDocument, skipUsings);
+ var currentHeaderLength = GetHeaderLength(textDocument, skipUsings);
- var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
+ var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
- if (skipUsings)
- {
- var nbLinesToSkip = GetNbLinesToSkip(textDocument);
+ if (skipUsings)
+ {
+ var nbLinesToSkip = GetNbLinesToSkip(textDocument);
- headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
- }
+ headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
+ }
- return headerBlockStart.GetText(currentHeaderLength + 1).Trim();
+ return headerBlockStart.GetText(currentHeaderLength + 1).Trim();
+ });
}
private int GetNbLinesToSkip(TextDocument textDocument)
@@ -141,39 +144,45 @@ private void InsertFileHeader(TextDocument textDocument, string settingsFileHead
/// Only valid for languages containing "using" directive
private void InsertFileHeaderAfterUsings(TextDocument textDocument, string settingsFileHeader)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var currentHeader = GetCurrentHeader(textDocument, true).Trim();
+ var currentHeader = GetCurrentHeader(textDocument, true).Trim();
- if (currentHeader.StartsWith(settingsFileHeader.Trim()))
- {
- return;
- }
+ if (currentHeader.StartsWith(settingsFileHeader.Trim()))
+ {
+ return;
+ }
- var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
- var nbLinesToSkip = GetNbLinesToSkip(textDocument);
+ var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
+ var nbLinesToSkip = GetNbLinesToSkip(textDocument);
- headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
+ headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
- if (!settingsFileHeader.StartsWith(Environment.NewLine))
- {
- settingsFileHeader = Environment.NewLine + settingsFileHeader;
- }
+ if (!settingsFileHeader.StartsWith(Environment.NewLine))
+ {
+ settingsFileHeader = Environment.NewLine + settingsFileHeader;
+ }
- headerBlockStart.Insert(settingsFileHeader);
+ headerBlockStart.Insert(settingsFileHeader);
+ });
}
private void InsertFileHeaderDocumentStart(TextDocument textDocument, string settingsFileHeader)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var cursor = textDocument.StartPoint.CreateEditPoint();
- var existingFileHeader = cursor.GetText(settingsFileHeader.Length);
+ var cursor = textDocument.StartPoint.CreateEditPoint();
+ var existingFileHeader = cursor.GetText(settingsFileHeader.Length);
- if (!existingFileHeader.StartsWith(settingsFileHeader.Trim()))
- {
- cursor.Insert(settingsFileHeader);
- }
+ if (!existingFileHeader.StartsWith(settingsFileHeader.Trim()))
+ {
+ cursor.Insert(settingsFileHeader);
+ }
+ });
}
///
@@ -183,12 +192,15 @@ private void InsertFileHeaderDocumentStart(TextDocument textDocument, string set
/// A string representing the first lines of the document
private string ReadTextBlock(TextDocument textDocument)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var maxNbLines = Math.Min(HeaderMaxNbLines, textDocument.EndPoint.Line);
- var blockStart = textDocument.StartPoint.CreateEditPoint();
+ var maxNbLines = Math.Min(HeaderMaxNbLines, textDocument.EndPoint.Line);
+ var blockStart = textDocument.StartPoint.CreateEditPoint();
- return blockStart.GetLines(1, maxNbLines);
+ return blockStart.GetLines(1, maxNbLines);
+ });
}
private void ReplaceFileHeader(TextDocument textDocument, string settingsFileHeader)
@@ -218,49 +230,55 @@ private void ReplaceFileHeader(TextDocument textDocument, string settingsFileHea
/// Only valid for languages containing "using" directive
private void ReplaceFileHeaderAfterUsings(TextDocument textDocument, string settingsFileHeader)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var currentHeader = GetCurrentHeader(textDocument, true).Trim();
- var newHeader = settingsFileHeader.Trim();
+ var currentHeader = GetCurrentHeader(textDocument, true).Trim();
+ var newHeader = settingsFileHeader.Trim();
- if (string.Equals(currentHeader, newHeader))
- {
- return;
- }
+ if (string.Equals(currentHeader, newHeader))
+ {
+ return;
+ }
- var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
- var nbLinesToSkip = GetNbLinesToSkip(textDocument);
+ var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
+ var nbLinesToSkip = GetNbLinesToSkip(textDocument);
- headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
+ headerBlockStart.MoveToLineAndOffset(nbLinesToSkip + 1, 1);
- var currentHeaderLength = GetHeaderLength(textDocument, true);
+ var currentHeaderLength = GetHeaderLength(textDocument, true);
- if (!settingsFileHeader.StartsWith(Environment.NewLine))
- {
- settingsFileHeader = Environment.NewLine + settingsFileHeader;
- }
+ if (!settingsFileHeader.StartsWith(Environment.NewLine))
+ {
+ settingsFileHeader = Environment.NewLine + settingsFileHeader;
+ }
- headerBlockStart.ReplaceText(currentHeaderLength, settingsFileHeader, (int)vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers);
+ headerBlockStart.ReplaceText(currentHeaderLength, settingsFileHeader, (int)vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers);
+ });
}
private void ReplaceFileHeaderDocumentStart(TextDocument textDocument, string settingsFileHeader)
{
- Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
+ UIThread.Run(() =>
+ {
+ ThreadHelper.ThrowIfNotOnUIThread();
- var currentHeader = GetCurrentHeader(textDocument, false).Trim();
- var newHeader = settingsFileHeader.Trim();
+ var currentHeader = GetCurrentHeader(textDocument, false).Trim();
+ var newHeader = settingsFileHeader.Trim();
- if (string.Equals(currentHeader, newHeader))
- {
- return;
- }
+ if (string.Equals(currentHeader, newHeader))
+ {
+ return;
+ }
- var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
- var currentHeaderLength = GetHeaderLength(textDocument, false);
+ var headerBlockStart = textDocument.StartPoint.CreateEditPoint();
+ var currentHeaderLength = GetHeaderLength(textDocument, false);
- headerBlockStart.ReplaceText(currentHeaderLength, settingsFileHeader, (int)vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers);
+ headerBlockStart.ReplaceText(currentHeaderLength, settingsFileHeader, (int)vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers);
+ });
}
#endregion Methods
}
-}
\ No newline at end of file
+}