public int OnAfterOpenProject([InAttribute] IVsHierarchy pHierarchy, [InAttribute] int fAdded) { Trace.WriteLine("OnAfterOpenProject"); //if (fAdded == 1) { IVsSccProject2 project = pHierarchy as IVsSccProject2; IList <string> fileList = SccProvider.GetProjectFiles(project); _sccStatusTracker.AddFileToProjectCache(fileList, project); if (fileList.Count > 0) { string[] files = new string[fileList.Count]; fileList.CopyTo(files, 0); // add only files wich are not ignored if (Configuration.Global._autoAddFiles) { _sccStatusTracker.AddWorkItem(new HGLib.TrackFilesAddedNotIgnored(files)); } else { _sccStatusTracker.AddWorkItem(new HGLib.UpdateFileStatusCommand(files)); } } } _sccProvider._LastSeenProjectDir = SccProjectData.ProjectDirectory(pHierarchy); _sccStatusTracker.UpdateProject(pHierarchy as IVsSccProject2); return(VSConstants.S_OK); }
public int OnBeforeCloseProject([InAttribute] IVsHierarchy pHierarchy, [InAttribute] int fRemoved) { if (_sccStatusTracker.FileProjectMapCacheCount() > 0) { IVsSccProject2 project = pHierarchy as IVsSccProject2; IList <string> fileList = SccProvider.GetProjectFiles(project); _sccStatusTracker.RemoveFileFromProjectCache(fileList); } return(VSConstants.S_OK); }