public async Task AddProject(EnvDTE.Project envProject) { IVsHierarchy projectHierarchy = null; await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); IVsSolution sol = (IVsSolution)_sccProvider.GetService(typeof(SVsSolution)); if (sol.GetProjectOfUniqueName(envProject.UniqueName, out projectHierarchy) == 0) { var project = projectHierarchy as IVsSccProject2; if (project != null) { await AddProject(project); if (!_projects.Contains(project) && project != null) { _projects.Add(project); } var files = SolutionExtensions.GetProjectFiles(envProject).ToList(); foreach (var file in files) { AddFileToList(file.ToLower(), project); } } } }
public async Task AddProject(IVsSccProject2 project) { if (!_projects.Contains(project) && project != null) { _projects.Add(project); } var files = await SolutionExtensions.GetProjectFiles(project); foreach (var file in files) { AddFileToList(file, project); } }
internal async Task AddProjectToSourceControl(IVsSccProject2 project) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); string projectName = await GetProjectFileName(project as IVsHierarchy); if (string.IsNullOrEmpty(projectName)) { return; } string projectDirecotry = Path.GetDirectoryName(projectName); var repo = RepositoryManager.Instance.GetTrackerForPath(projectDirecotry); repo.AddFile(projectName); var files = await SolutionExtensions.GetProjectFiles(project); foreach (var file in files) { repo.AddFile(file); } }