Beispiel #1
0
        public VSProcess GetOrCreateVSProcessForSolution(string solutionFilePath)
        {
            VSProcess vsProcess = null;

            vsProcess = GetVSProcessWithSolution(solutionFilePath);
            if (vsProcess != null)
            {
                return(vsProcess);
            }

            vsProcess = GetVSProcessWithoutSolution();
            if (vsProcess != null)
            {
                return(vsProcess);
            }

            vsProcess = VSProcess.StartNewProcess();
            if (vsProcess != null)
            {
                vsProcess.Initialize();
                vsProcesses.Insert(0, vsProcess);
            }

            return(vsProcess);
        }
Beispiel #2
0
 public void PrintRunningInstances()
 {
     VSProcess.Initialize(vsProcesses);
     foreach (var vsProcess in vsProcesses)
     {
         PrintVSInstance(vsProcess);
     }
 }
Beispiel #3
0
 public VSProcess GetVSProcessWithoutSolution()
 {
     VSProcess.Initialize(vsProcesses);
     foreach (var vsProcess in vsProcesses)
     {
         if (!vsProcess.HasOpenSolution)
         {
             return(vsProcess);
         }
     }
     return(null);
 }
Beispiel #4
0
 public VSProcess GetVSProcessWithSolution(string solutionFilePath)
 {
     VSProcess.Initialize(vsProcesses);
     foreach (var vsProcess in vsProcesses)
     {
         if (vsProcess.HasOpenSolution && vsProcess.Solution.FullName == solutionFilePath)
         {
             return(vsProcess);
         }
     }
     return(null);
 }
Beispiel #5
0
 public static void Initialize(VSProcess vsProcess)
 {
     vsProcess?.Initialize();
 }