public ResharperProjectUpdater(IFile descriptor, resharper::JetBrains.ProjectModel.IProject project, Func<ExecutionEnvironment> env) { _project = project; _ignoredAssemblies = ReadIgnoredAssemblies(); Descriptor = descriptor; _env = env; }
static void SetTextColor(resharper::JetBrains.CommonControls.IPresentableItem item, Element element) { if (element.IsExplicit) { item.RichText.SetForeColor(SystemColors.GrayText); } item.RichText.SetForeColor(SystemColors.GrayText, 0, element.GetTitlePrefix().Length); }
public ResharperTests(OutputWindowPane pane, ResharperThreading threading, resharper::JetBrains.ActionManagement.ActionManager actionManager, resharper::JetBrains.ReSharper.Daemon.SolutionAnalysis.SolutionAnalysisManager solutionManager, resharper::JetBrains.ProjectModel.ISolution solution) { _pane = pane; _threading = threading; _actionManager = actionManager; _solutionManager = solutionManager; _solution = solution; }
public ProjectReferenceUpdater(resharper::JetBrains.ProjectModel.ISolution solution, resharper::JetBrains.Application.ChangeManager changeManager, ResharperThreading threading) { _solution = solution; _changeManager = changeManager; _threading = threading; _output = new OpenWrapOutput("ReSharper Project Reference Updater"); _output.Write("Solution opened " + solution.Name); _thread = new System.Threading.Thread(LoadAssemblies) { Name = "OpenWrap assembly change listener" }; _thread.Start(); _changeManager.Changed += HandleChanges; }
public TestRunner(ResharperThreading threading, resharper::JetBrains.ActionManagement.ActionManager actionManager, resharper::JetBrains.ReSharper.Daemon.SolutionAnalysis.SolutionAnalysisManager saManager, resharper::JetBrains.ProjectModel.ISolution solution) { _threading = threading; _actionManager = actionManager; _saManager = saManager; _dte = (DTE2)SiteManager.GetGlobalService<DTE>(); _output = new OpenWrapOutput(); var output = (OutputWindow)_dte.Windows.Item(Constants.vsWindowKindOutput).Object; _pane = output.OutputWindowPanes.Add(PluginManager.OUTPUT_RESHARPER_TESTS); _debugThread = new System.Threading.Thread(WaitForOutput) { Name = "OpenWrap Test Runner Thread" }; _debugThread.SetApartmentState(ApartmentState.STA); _debugThread.Start(); }
static bool ProjectIsOpenWrapEnabled(resharper::JetBrains.ProjectModel.IProject proj) { if (proj.ProjectFile == null || !File.Exists(proj.ProjectFile.Location.FullPath)) return false; var xmlDoc = new XmlDocument(); var namespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); namespaceManager.AddNamespace("msbuild", MSBUILD_NS); using (var projectFileStream = File.OpenRead(proj.ProjectFile.Location.FullPath)) xmlDoc.Load(projectFileStream); var isOpenWrap = (from node in xmlDoc.SelectNodes(@"//msbuild:Import", namespaceManager).OfType<XmlElement>() let attr = node.GetAttribute("Project") where attr != null && Regex.IsMatch(attr, @"OpenWrap\..*\.targets") select node).Any(); var isDisabled = ( from node in xmlDoc.SelectNodes(@"//msbuild:OpenWrap-EnableVisualStudioIntegration", namespaceManager).OfType<XmlElement>() let value = node.Value where value != null && value.EqualsNoCase("false") select node ).Any(); return isOpenWrap && !isDisabled; }
public LegacyProjectReferenceUpdater(resharper::JetBrains.ProjectModel.ISolution solution) { _solution = solution; }
void HandleChanges(object sender, resharper::JetBrains.Application.ChangeEventArgs changeeventargs) { var solutionChanges = changeeventargs.ChangeMap.GetChange(Solution) as resharper::JetBrains.ProjectModel.SolutionChange; if (solutionChanges == null) { ResharperLogger.Debug("Unknown solution change"); return; } if (HasSolutionChanges(solutionChanges) || HasProjectChanges(solutionChanges)) { ResharperLogger.Debug("Scheduled refresh of projects"); ScheduleRefresh(); } }
bool HasSolutionChanges(resharper::JetBrains.ProjectModel.SolutionChange solutionChanges) { return solutionChanges.IsAdded || solutionChanges.IsRemoved || solutionChanges.IsOpeningSolution || solutionChanges.IsClosingSolution; }
bool HasProjectItemChanges(resharper::JetBrains.ProjectModel.ProjectItemChange child) { var children = child.GetChildren(); return children.OfType<resharper::JetBrains.ProjectModel.AssemblyChange>().Any(); }
bool HasProjectChanges(resharper::JetBrains.ProjectModel.SolutionChange solutionChanges) { var children = solutionChanges.GetChildren(); foreach (var child in children.OfType<resharper::JetBrains.ProjectModel.ProjectItemChange>()) { if (child.IsAdded || child.IsRemoved ||child.IsExternallyChanged || (child.IsSubtreeChanged && HasProjectItemChanges(child))) return true; } return false; }
void RefreshProject(resharper::JetBrains.ProjectModel.IProject project) { if (project.ProjectFile == null) return; var projectPath = project.ProjectFile.Location.FullPath; _output.Write("Project files ({0}).", projectPath); if (!_assemblyMap.ContainsKey(projectPath)) { _output.Write("Project files ({0}) not in assembly map continuing.", projectPath); return; } #if v710 var existingOpenWrapReferences = project.GetReferences().Where(x => x.GetProperty(ISWRAP) != null).ToList(); foreach (ResharperAssemblyReference projectToAssemblyReference in existingOpenWrapReferences) { _output.Write("Existing openwrap ref: {0} @ {1}. ", projectToAssemblyReference.Name, projectToAssemblyReference.HintLocation()); } var existingOpenWrapReferencePaths = (from ResharperAssemblyReference x in existingOpenWrapReferences select x.HintLocation()).ToList(); #else var existingOpenWrapReferences = project.GetAssemblyReferences().Where(x => x.GetProperty(ISWRAP) != null).ToList(); foreach (var projectToAssemblyReference in existingOpenWrapReferences) { _output.Write("Existing openwrap ref: {0} @ {1}. ", projectToAssemblyReference.Name, projectToAssemblyReference.HintLocation()); } var existingOpenWrapReferencePaths = existingOpenWrapReferences.Select(assemblyRef => assemblyRef.HintLocation()).ToList(); #endif var assemblies = _assemblyMap[projectPath]; foreach (var path in assemblies.Where(x => !existingOpenWrapReferencePaths.Contains(x))) { _output.Write("Adding reference {0} to {1}", projectPath, path); ResharperLogger.Debug("Adding reference {0} to {1}", projectPath, path); var assembly = project.AddAssemblyReference(path); assembly.SetProperty(ISWRAP, true); } #if v710 var convertedList = existingOpenWrapReferences.Cast<ResharperAssemblyReference>().ToList(); foreach (var toRemove in existingOpenWrapReferencePaths.Where(x => !assemblies.Contains(x))) { string remove = toRemove; ResharperLogger.Debug("Removing reference {0} from {1}", projectPath, toRemove); project.RemoveAssemblyReference(convertedList.First(x => x.HintLocation() == remove)); } #else foreach (var toRemove in existingOpenWrapReferencePaths.Where(x => !assemblies.Contains(x))) { string remove = toRemove; ResharperLogger.Debug("Removing reference {0} from {1}", projectPath, toRemove); project.RemoveAssemblyReference(existingOpenWrapReferences.First(x => x.HintLocation() == remove)); } #endif }
public LegacyTestRunner(resharper::JetBrains.ProjectModel.ISolution solution) { }