string GetNewTitle(string ideName, string pattern)
{
DTE2 dte = DTEService.Get();
Solution solution = dte.Solution;
Document activeDocument = dte.ActiveDocument;
Window activeWindow = dte.ActiveWindow;
if (activeDocument == null && (solution == null || string.IsNullOrEmpty(solution.FullName)))
{
var window = dte.ActiveWindow;
if (window == null || window.Caption == dte.MainWindow.Caption)
{
return ideName;
}
}
pattern = pattern.Replace(DOCUMENT_NAME, GetActiveDocumentName(activeDocument, activeWindow));
pattern = pattern.Replace(SOLUTION_NAME, GetSolutionName(solution));
pattern = pattern.Replace(IDE_NAME, ideName);
pattern = pattern.Replace(PLASTIC_SELECTOR, GetSelectorString());
return pattern;
}