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);
            }
        }