Пример #1
0
 public ResharperProjectUpdater(IFile descriptor, resharper::JetBrains.ProjectModel.IProject project, Func<ExecutionEnvironment> env)
 {
     _project = project;
     _ignoredAssemblies = ReadIgnoredAssemblies();
     Descriptor = descriptor;
     _env = env;
 }
Пример #2
0
		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);
		}
Пример #3
0
 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;
        }
Пример #5
0
        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;
 }
Пример #12
0
        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
        }
Пример #13
0
 public LegacyTestRunner(resharper::JetBrains.ProjectModel.ISolution solution)
 {
     
 }