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); }
public void PrintRunningInstances() { VSProcess.Initialize(vsProcesses); foreach (var vsProcess in vsProcesses) { PrintVSInstance(vsProcess); } }
public VSProcess GetVSProcessWithoutSolution() { VSProcess.Initialize(vsProcesses); foreach (var vsProcess in vsProcesses) { if (!vsProcess.HasOpenSolution) { return(vsProcess); } } return(null); }
public VSProcess GetVSProcessWithSolution(string solutionFilePath) { VSProcess.Initialize(vsProcesses); foreach (var vsProcess in vsProcesses) { if (vsProcess.HasOpenSolution && vsProcess.Solution.FullName == solutionFilePath) { return(vsProcess); } } return(null); }
public static void Initialize(VSProcess vsProcess) { vsProcess?.Initialize(); }